
Torch
Torch er et open source-maskinlæringsbibliotek og videnskabeligt beregningsframework baseret på Lua, optimeret til deep learning og AI-opgaver. Det tilbyder vær...
Horovod er en robust, open source-ramme til distribueret deep learning-træning, designet til at muliggøre effektiv skalering på tværs af flere GPU’er eller maskiner. Den understøtter TensorFlow, Keras, PyTorch og MXNet og optimerer hastighed og skalerbarhed ved træning af maskinlæringsmodeller.
Horovod er konstrueret til at optimere hastighed, skalerbarhed og ressourceallokering under træning af maskinlæringsmodeller. Dets kerne – Ring-AllReduce-algoritmen – håndterer effektivt datakommunikation og minimerer de kodeændringer, der kræves for at skalere fra enkelt-node til multi-node-miljøer.
Horovod blev introduceret af Uber i 2017 som en del af deres interne ML-as-a-service-platform, Michelangelo. Værktøjet blev skabt for at løse skaleringsproblemer med standardopsætningen for distribueret TensorFlow, som ikke var tilstrækkelig til Ubers omfattende behov. Horovods arkitektur blev designet til at reducere træningstider dramatisk og muliggøre problemfri distribueret træning.
Horovod vedligeholdes nu under Linux Foundation’s AI Foundation, hvilket afspejler dets brede accept og fortsatte udvikling i open source-miljøet.
Rammeuafhængig
Integrerer med flere deep learning-rammer, så udviklere kan bruge en ensartet tilgang til distribueret træning på tværs af forskellige værktøjer. Dette reducerer læringskurven for udviklere, der kender én ramme, men har brug for at arbejde i forskellige miljøer.
Ring-AllReduce-algoritme
Kernen i Horovods effektivitet – denne algoritme udfører gradientgennemsnit på tværs af noder med minimalt båndbreddeforbrug og reducerer kommunikationsomkostninger ved storskala træning.
Brugervenlighed
Forenkler overgangen fra enkelt-GPU til multi-GPU træning med minimale kodeændringer. Omslutter eksisterende optimeringsværktøjer og bruger Message Passing Interface (MPI) til kommunikation på tværs af processer.
GPU-bevidsthed
Udnytter NVIDIA’s NCCL-bibliotek til at optimere kommunikation mellem GPU’er for højhastighedsdataoverførsler og effektiv hukommelsesstyring – afgørende for store, høj-dimensionelle datasæt.
For at installere Horovod:
Krav:
Installationskommando:
pip install horovod[tensorflow,keras,pytorch,mxnet]
Rammespecifikke miljøvariabler:
Angiv miljøvariabler som HOROVOD_WITH_TENSORFLOW=1 for at styre rammeunderstøttelse under installationen.
Horovod bruges bredt i scenarier, hvor der kræves hurtig modeliteration og træning:
AI-automatisering og chatbots:
I AI-baserede applikationer som chatbots betyder hurtigere NLP-modeltræning hurtigere produktudrulning.
Selvkørende biler:
Hos Uber bruges Horovod til at udvikle ML-modeller til autonome køretøjer, hvor store datasæt og komplekse modeller nødvendiggør distribueret træning.
Bedrageridetektion og prognoser:
Horovods effektivitet med store datasæt gør den ideel til finansielle tjenester og e-handelsplatforme, der har brug for hurtig modeltræning til transaktionsdata, bedrageridetektion og trendprognoser.
Eksempel: Integration af Horovod i et TensorFlow-træningsscript:
import tensorflow as tf
import horovod.tensorflow as hvd
# Initialiser Horovod
hvd.init()
# Fastlås GPU til at blive brugt til at behandle lokal rang
config = tf.ConfigProto()
config.gpu_options.visible_device_list = str(hvd.local_rank())
# Byg model
model = ... # Definer din model her
optimizer = tf.train.AdagradOptimizer(0.01)
# Tilføj Horovod Distributed Optimizer
optimizer = hvd.DistributedOptimizer(optimizer)
# Udsend initiale variabeltilstande fra rang 0 til alle andre processer
hvd.broadcast_global_variables(0)
# Træningsloop
for epoch in range(num_epochs):
# Træningskode her
...
Horovod Timeline:
Profilerer distribuerede træningsjobs for at identificere flaskehalse i ydeevnen. Bemærk: aktivering kan reducere throughput – brug det med omtanke.
Elastisk træning:
Understøtter dynamisk justering af ressourcer under træning – særligt nyttigt i cloud-miljøer, hvor ressourcer kan variere.
Horovod hostes på GitHub med et stærkt fællesskab af bidragsydere og brugere. Som en del af Linux Foundation AI opfordres udviklere til at bidrage til den løbende udvikling. Med over 14.000 stjerner og adskillige forgreninger understreger Horovods fællesskabsengagement dens centrale rolle i distribueret træning.
Horovod strømliner distribueret deep learning og adresserer to store skaleringsudfordringer: kommunikationsomkostninger og kodeændringer.
Effektiv kommunikation mellem GPU’er:
Udviklet af Alexander Sergeev og Mike Del Balso benytter Horovod ring-reduktion til kommunikation mellem GPU’er, hvilket markant reducerer de kodeændringer, der kræves til distribueret træning.
Tilgængelighed:
Muliggør hurtigere og mere tilgængelig distribueret træning i TensorFlow og andre rammer, så forskere lettere kan komme ud over enkelt-GPU-træning.
Læs mere:
For dybere indsigt, se artiklen “Horovod: fast and easy distributed deep learning in TensorFlow
.”
NLP-modeltræning:
Artiklen “Modern Distributed Data-Parallel Large-Scale Pre-training Strategies For NLP models” af Hao Bai udforsker dataparallel træning med PyTorch og Horovod. Studiet fremhæver Horovods robusthed, især i kombination med Apex mixed-precision-strategi, hvilket gør den effektiv til store modeller som GPT-2 med 100M parametre.
Dynamisk planlægning:
Artiklen “Dynamic Scheduling of MPI-based Distributed Deep Learning Training Jobs” af Tim Capes m.fl. undersøger dynamisk planlægning af deep learning-jobs ved brug af Horovods ring-arkitektur og viser, at det muliggør effektiv stop og genstart af jobs, reducerer samlet gennemførselstid og demonstrerer tilpasningsevne til komplekse deep learning-opgaver.
Begynd at bygge dine egne AI-løsninger med FlowHunts kraftfulde værktøjer og problemfri integrationer.

Torch er et open source-maskinlæringsbibliotek og videnskabeligt beregningsframework baseret på Lua, optimeret til deep learning og AI-opgaver. Det tilbyder vær...

Chainer er et open source deep learning-rammeværk, der tilbyder en fleksibel, intuitiv og højtydende platform til neurale netværk med dynamiske define-by-run gr...

Integrer FlowHunt med Heroku MCP Serveren for AI-drevet administration af Heroku-ressourcer. Automatiser app-udrulning, dyno-skalering, tilføjelse af add-ons og...
Cookie Samtykke
Vi bruger cookies til at forbedre din browsingoplevelse og analysere vores trafik. See our privacy policy.