惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
Arctic Wolf
T
Tenable Blog
T
Troy Hunt's Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy & Cybersecurity Law Blog
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
H
Hacker News: Front Page
S
Secure Thoughts
AWS News Blog
AWS News Blog
L
LINUX DO - 最新话题
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
MIT News - Artificial intelligence
T
Tor Project blog
S
Schneier on Security
PCI Perspectives
PCI Perspectives
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
美团技术团队
Google DeepMind News
Google DeepMind News
V
Visual Studio Blog
爱范儿
爱范儿
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
T
The Exploit Database - CXSecurity.com
罗磊的独立博客
T
Threat Research - Cisco Blogs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V
V2EX
C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
GRAHAM CLULEY
L
LINUX DO - 热门话题
D
Docker
J
Java Code Geeks
GbyAI
GbyAI
H
Heimdal Security Blog
The Hacker News
The Hacker News
MongoDB | Blog
MongoDB | Blog
V
Vulnerabilities – Threatpost
T
Tailwind CSS Blog
Cloudbric
Cloudbric
TaoSecurity Blog
TaoSecurity Blog
C
CERT Recently Published Vulnerability Notes
Y
Y Combinator Blog
Recorded Future
Recorded Future
Cisco Talos Blog
Cisco Talos Blog
T
Threatpost
The Register - Security
The Register - Security
Hacker News - Newest:
Hacker News - Newest: "LLM"

Discord Blog

Making It Easier Than Ever to Connect with Friends in League & VAL! Every Voice and Video Call on Discord Is Now End-to-End Encrypted How to Link Discord to Battlefield 6, Marvel Rivals & More Official Discord Integrations for Steal a Brainrot, Grow a Garden, Brookhaven RP, and more Celebrate Discord’s 11th Birthday with an Exclusive Set of Emoji and Wallpapers Nitro Now Comes with Xbox Game Pass and New Benefits. Welcome to Nitro Rewards. How to Use Nitro: A Beginner’s Guide to Discord’s Premium Subscription Stock Up in the New Rust Shop! Enjoy a Discord-Only 20% Sale on Most Items until 5/21 How Discord Automates ScyllaDB Clusters at Scale Discord Patch Notes: May 4, 2026 You’ve Got (Too Much) Mail: Behind the Scenes of the 3/25/26 Voice Outage Measure Less to Learn More: Using Fewer, Higher-quality Metrics to Capture What Matters Discord Patch Notes: April 6, 2026 MULTIPLAYER SEQUEL TO ACCLAIMED AAAA GAME “THE LAST MEADOW” ANNOUNCED: PLAYABLE NOW Making Discord on Desktop Look Just Right: Display Settings to Ease the Eyes Discord Patch Notes: December 8, 2025 Building on the Social Layer of Games: What’s New from GDC 2026 Gift Ideas for the Dedicated Discord User in Your Life Discord Update: November 6, 2025 Changelog During October, Treat a Friend to Nitro and Trick Out Your Profile for Halloween 🎃 Discord Social SDK Updates & Integrations Go Beyond, Plus Ultra! with the My Hero Academia Collection STAR WARS™ Makes Its Way to Discord Worthy of a Plaque: Nameplates Land in the Shop Announcing Discord’s Social SDK, Helping Power Your Game’s Social Experiences A Cornucopia of Updates Make Discord on Desktop Fresher Than a Crisp Fall Breeze Starting Your First Discord Server Transforming Game Discovery with Instant Play Experiences on Discord Introducing the Discord for Business Newsletter, Vol. 1 Discord Update: March 24, 2026 Changelog Discord Update: December 19, 2024 Changelog How Multi-Factor Authentication Helps Keep Your Discord Account Safe How ROOST is Advancing Online Safety You’re Now Discord Official: Developers, Claim Your Game and Verify Your Server Discord Patch Notes: March 6, 2026 Tracing Discord's Elixir Systems (Without Melting Everything) Getting Global Age Assurance Right: What We Got Wrong and What's Changing Discord Patch Notes: February 4, 2026 Osprey: Open Sourcing our Rule Engine How to Change Your Theme to Bring Your Vibe to Discord Your Discord Checkpoint is Rolling Out! Celebrate What You Did in 2025 How to Customize Your Discord Profile How to Make and Use Custom Emoji on Discord Save and Display Your Faves: Add Discord Shop & Marvel Rivals Items to Your Profile’s Wishlist Discord Patch Notes: November 4, 2025 Bringing In-Game Commerce to Discord Communities Reward Your Play: Complete Quests. Earn Orbs. Get Sweet Stuff. How to Share What You’re Playing, Listening to, or Watching as Your Status on Discord Staff Picks, September 2025: Welcome to Our Video Game Museum Discord Patch Notes: October 7, 2025 Discord Update: September 25, 2025 Changelog New Looks for Nitro, New Looks for You. Get Yourself a Nitro-exclusive Profile Bundle! Discord Patch Notes: September 3, 2025 Bringing DAVE to All Discord Platforms Discord’s Powerful Cross-Platform Chat: Ready for Your Game Introducing the Community Server Cleanup Report for August 2025 Discord for Business Vol. 2: Cannes-worthy ad product updates Discord Patch Notes: August 4, 2025 ROOST Announces “Coop” and “Osprey”: Free, Open-Source Trust and Safety Infrastructure for the AI Era *FLAILS AROUND* SUMMER SPECIAL! JOIN NITRO, GET AN EXTRA MONTH OF NITRO ON US! Get More From Your Boosts With New Server Perks Discord Patch Notes: July 7, 2025 Discord Update: June 30, 2025 Changelog Authenticity Matters: Discord's Pride Month 2025 Staff Picks, June 2025: Summer of Showcases How to Set Up Your Server’s Roles for Members, Mods & Admins Gift Nitro and Earn A Flavorful Splash for your Avatar Discord Patch Notes: June 3, 2025 How to Use the Discord Soundboard & Add More Sounds Checkpoint 3: Leveling Up Discord Quests with Orbs and Advanced Measurement Thank You for Ten Years Staff Picks, May 2025: The Games That Brought Us to Discord Discord Patch Notes: May 1, 2025 How Discord Indexes Trillions of Messages Passing the Torch Discord Appoints Humam Sakhnini as Chief Executive Officer Staff Picks, April 2025: All The Adaptations Make More Closet Space! Nitro Members Can Now Keep Avatar Decoration Quest Rewards for Longer How to Use Discord’s In-Game Overlay to Talk While Playing on PC The Game Developer Playbook, Part One: Getting Started on Discord The Game Developer Playbook, Part Two: Early Access and Pre-Launch MAJOR NEWS: DISCORD ANNOUNCES ITS FIRST IN-HOUSE AAAA VIDEO GAME, “THE LAST MEADOW” Overclocking dbt: Discord's Custom Solution in Processing Petabytes of Data Wicked Saints Turns Players into IRL Superheroes with the Help of e.l.f. Beauty and Discord Discord Update: March 25, 2025 Changelog How to Stream Games and Applications to Discord from Desktop or Mobile Discord Patch Notes: April 3, 2025 Checkpoint 2: Our First Year With Discord Quests How to Create & Upload Your Own Stickers on Discord Revamped Overlay & Refreshed Desktop Give Game Time a Boost Discord Announces First Mobile Ad Format, Broadening Advertising Opportunities Announcing Discord’s Social SDK, Helping Power Your Game’s Social Experiences The Game Developer Playbook: Three Incredible Game-Focused Communities Modern Image Formats at Discord: Supporting WebP and AVIF Discord Patch Notes: March 11, 2025 Supercharging Discord Mobile: Our Journey to a Faster App December Staff Picks: It’s Giving Games Discord Patch Notes: February 3, 2025 Leveling Up Black Voices in Gaming How Discord Seamlessly Upgraded Millions of Users to 64-Bit Architecture
From Single-Node to Multi-GPU Clusters: How Discord Made Distributed Compute Easy for ML Engineers
Serrana Aguirregaray & Nathaniel JenkinsOctober 9, 2025 · 2025-10-09 · via Discord Blog

Nelly, a robot hamster, holding a flathead screwdriver.

How Discord ML Hit Its Scaling Limit

At Discord, our machine learning systems have evolved from simple classifiers to sophisticated models serving hundreds of millions of users. As our models grew more complex and datasets larger, we increasingly ran into scaling challenges: training jobs that needed multiple GPUs, datasets that wouldn’t fit on single machines, and computational demands that outpaced our infrastructure.

Access to distributed compute was necessary — but not sufficient. We needed distributed ML to be easy. Ray, an open-source distributed computing framework, became our foundation. At Discord, we built a platform around it: custom CLI tooling, orchestration with Dagster + KubeRay, and an observability layer called X-Ray. Our focus was on developer experience, turning distributed ML from something hard to use into a system they are excited to work with.

This is how Discord went from no deep learning, to ad-hoc experiments, to a production orchestration platform, and how that work enabled models like Ads Ranking that delivered a +200% improvement on our business metrics.

Ray's Early Adopters at Discord

Our journey with Ray began organically, with individual ML engineers exploring it as a solution to their specific scaling problems. These early adopters were running Ray clusters manually, following open-source documentation and adapting examples to their needs to see how everything worked out for them.

While this got them unblocked, we quickly noticed problems: cluster configuration wasn’t standardized, resource management wasn’t consistent, and there were no options for job scheduling or monitoring. Each team was solving the same infrastructure challenges with their own solutions. It became clear that while Ray solved the distributed computing problem, we needed to build a “Ray platform” within Discord.

From YAML Headaches to One CLI Command

The first step toward building our Ray platform was creating a command-line interface that helped ease Ray’s cluster complexity. 

Instead of maintaining dozens of YAML templates for every possible GPU configuration, we built a single parameterized template that generates the full cluster specification at runtime. Engineers specify what they need — such as GPU type, worker count, or memory — and the CLI handles all the underlying Kubernetes configurations and security settings. Once set up, engineers can submit jobs to their own personalized clusters.

This solved our immediate problems: configurations became consistent across teams, resource requests matched hardware capabilities, and engineers could spin up multi-GPU clusters with a single command instead of debugging YAML files. The CLI handled the full lifecycle, from creation to deletion.

Just as importantly, this focus on usability set the tone for everything that followed. Our platform succeeded not only because Ray was technically powerful, but because we made it ergonomic for engineers to use.

Orchestration: From Ad-hoc to Automated

The next big step towards productionized Ray was moving from one-off, ad-hoc training to scheduling jobs in our orchestration system. This would allow engineers to retrain on defined schedules depending on the use case. 

We built our orchestration system around a trio of Dagster + KubeRay + Ray:

  • Dagster defines workflows, configs, and dependencies. Engineers launch their jobs on schedule or through the Dagster Launchpad UI by filling in structured configs (like model_name, dataset window, or GPU pool). Defaults are schema-validated, so jobs don’t fail because of missing parameters. Dagster serves a key role in Discord’s scalable data platform
  • KubeRay provisions Ray clusters dynamically on Kubernetes, attaching the correct service account and GPU node pool, using the same behind-the-scenes logic as the CLI.
  • Ray executes the distributed workload once the cluster is live. This includes training, evaluation, or batch inference.

How it works

  1. An engineer launches or schedules a pipeline in Dagster.
  2. Dagster submits the job spec to the Ray Job Operator.
  3. KubeRay spins up a Ray cluster in the right namespace, with the right node pool.
  4. Ray distributes the training workload across GPUs.
  5. Logs and metrics stream back to Dagster and monitoring systems.

This design gives us:

  • Predictability: jobs run with versioned configs, not hand-written YAMLs.
  • Reproducibility: infra and resources are tied directly to pipeline definitions.
  • Visibility: engineers can see logs and cluster state in Dagster without SSH’ing into pods.

In practice, this means the ad relevance model — one of our most GPU-intensive — now trains daily without engineers needing to touch cluster configs or debug why jobs aren’t starting.

An example of the System Design DAG for Ray x Dagster Integration

Observability

As adoption increased, we identified a need for better observability across our Ray infrastructure. 

To support this, we built X-Ray, a centralized web UI that gives ML engineers a single place to observe all Ray cluster operations. It can show active clusters, ownership, machine types, and status in real time, making it simple for engineers to view dashboards and start interactive notebooks for experimentation.

The X-Ray internal observability platform for Ray

Proof in Production: Ads Ranking ML

The clearest example of impact came from our Ads Ranking model, which is how Discord determines which Quest we think a particular user will be most interested in and excited to see. This was the first time we shipped large-scale deep learning to production at Discord.

Before Ray, the team was limited to XGBoost. Scaling to neural networks using the infrastructure powering XGBoost models was technically possible, but the pieces weren’t there to ensure a good experience for our MLEs. At the time, we had no sharding, no multi-GPU support, and no way to retrain at the scale and cadence the system needed.

With Ray, Ads Ranking shifted to sharded neural networks trained on multi-GPU clusters. The results were immediate:

  • Doubled the number of players joining Quests
  • Coverage expanded from ~40% to nearly 100% of ads traffic

Ads Ranking is now a deep learning pipeline that runs in production, retrains daily, and continues to ship new versions — with percentage lifts that are hard to believe until you see them.

And the system just works. One of our ML engineers built and launched a full testing framework in a day using the open-source docs from Ray and Dagster. No handholding needed, no custom tools, no waiting around — that’s what good infra unlocks.

This model shifted what's possible at Discord. It showed that with the right infrastructure, deep learning at scale doesn’t have to be painful. It can be fast, reliable, and something ML engineers actually want to use.

Ray as Discord's ML Foundation

Discord’s Ray platform has been a huge success. What started as scattered experimentation is now the backbone of how we run machine learning. From ad-hoc tooling to production-level orchestration support to ergonomic observability systems, engineers now have the tools they need to move quickly, monitor jobs, and build confidently on top of distributed compute.

Models that used to be blocked due to infrastructure restraints now run every day. Teams across Ads, Safety, Shop, and beyond are testing ideas faster, shipping faster, and hitting real results in production — in some cases seeing massive step-change improvements in performance that would’ve been impossible on our old setup.

We’re continuing to invest in the platform by tuning performance, improving developer experience, and pushing toward the best possible version of this system for the people who rely on it. 

There’s more on the ho-Ray-zon.

Serrana Aguirregaray & Nathaniel Jenkins

related articles