
Caffe
Caffe er et åpen kildekode dyplæringsrammeverk fra BVLC, optimalisert for hastighet og modularitet i bygging av konvolusjonelle nevrale nettverk (CNN). Caffe er...
Horovod forenkler distribuert dyp læring, gjør det mulig å skalere effektivt over GPU-er eller maskiner med minimale kodeendringer og bred rammeverksstøtte.
Horovod er utviklet for å optimalisere hastighet, skalerbarhet og ressursallokering under trening av maskinlæringsmodeller. Kjernen i systemet—Ring-AllReduce-algoritmen—håndterer datakommunikasjon effektivt, og minimerer kodeendringene som kreves for å skalere fra enkelt-node til multi-node miljøer.
Horovod ble introdusert av Uber i 2017 som en del av deres interne ML-as-a-service-plattform, Michelangelo. Verktøyet ble laget for å løse skaleringseffektiviteten i standard distribuert TensorFlow-oppsett, som ikke var tilstrekkelig for Ubers omfattende behov. Horovods arkitektur ble designet for dramatisk å redusere treningstider og muliggjøre sømløs distribuert trening.
Horovod vedlikeholdes nå under Linux Foundation’s AI Foundation, noe som reflekterer bred aksept og kontinuerlig utvikling i åpen kildekode-miljøet.
Rammeverksuavhengig
Integreres med flere rammeverk for dyp læring, slik at utviklere kan bruke en enhetlig distribuert treningsmetode på tvers av ulike verktøy. Dette reduserer læringskurven for utviklere som er kjent med ett rammeverk, men som trenger å jobbe i varierte miljøer.
Ring-AllReduce-algoritme
Sentralt for Horovods effektivitet er denne algoritmen som utfører gradientgjennomsnitt på tvers av noder med minimal båndbreddebruk, og reduserer kommunikasjonsbelastningen ved storskala trening.
Brukervennlighet
Forenkler overgangen fra enkelt-GPU til multi-GPU-trening ved å kreve minimale kodeendringer. Pakkes rundt eksisterende optimizere og bruker Message Passing Interface (MPI) for kommunikasjon mellom prosesser.
GPU-bevissthet
Utnytter NVIDIAs NCCL-bibliotek for å optimalisere GPU-til-GPU-kommunikasjon, som gir høyhastighets dataoverføring og effektiv minnehåndtering—kritisk for store, høy-dimensjonale datasett.
For å installere Horovod:
Krav:
Installasjonskommando:
pip install horovod[tensorflow,keras,pytorch,mxnet]
Rammeverk-spesifikke miljøvariabler:
Sett miljøvariabler som HOROVOD_WITH_TENSORFLOW=1
for å styre rammeverksstøtte under installasjon.
Horovod er mye brukt i scenarioer som krever rask modelliterasjon og trening:
KI-automatisering og chatboter:
I KI-drevne applikasjoner som chatboter, gir raskere NLP-modelltrening raskere lansering av produkter.
Selvkjørende biler:
Hos Uber brukes Horovod i utviklingen av ML-modeller for autonome kjøretøy, hvor store datasett og komplekse modeller krever distribuert trening.
Svindeldeteksjon og prognoser:
Horovods effektivitet med store datasett gjør det ideelt for finansielle tjenester og e-handelsplattformer som trenger rask modelltrening for transaksjonsdata, svindeldeteksjon og trendprognoser.
Eksempel: Integrere Horovod i et TensorFlow-treningsskript:
import tensorflow as tf
import horovod.tensorflow as hvd
# Initialiser Horovod
hvd.init()
# Lås GPU til å bruke lokal rang
config = tf.ConfigProto()
config.gpu_options.visible_device_list = str(hvd.local_rank())
# Bygg modell
model = ... # Definer din modell her
optimizer = tf.train.AdagradOptimizer(0.01)
# Legg til Horovod Distributed Optimizer
optimizer = hvd.DistributedOptimizer(optimizer)
# Send initial variable states fra rang 0 til alle andre prosesser
hvd.broadcast_global_variables(0)
# Treningssløyfe
for epoch in range(num_epochs):
# Treningskode her
...
Horovod Timeline:
Profilerer distribuerte treningsjobber for å identifisere ytelsesflaskehalser. Merk: aktivering kan redusere gjennomstrømningen—bruk med omhu.
Elastisk trening:
Støtter dynamisk justering av ressurser under trening—særlig nyttig i sky-miljøer hvor ressursene kan variere.
Horovod er vert på GitHub, med et sterkt fellesskap av bidragsytere og brukere. Som en del av Linux Foundation AI oppfordres utviklere til å bidra til kontinuerlig utvikling. Med over 14 000 stjerner og mange forgreininger, viser Horovods fellesskapsengasjement hvor sentral rollen er i distribuert trening.
Horovod strømlinjeformer distribuert dyp læring og adresserer to store skaleringsutfordringer: kommunikasjonsbelastning og kodeendringer.
Effektiv inter-GPU-kommunikasjon:
Utviklet av Alexander Sergeev og Mike Del Balso, bruker Horovod ringreduksjon for inter-GPU-kommunikasjon og reduserer betydelig kodeendringene som trengs for distribuert trening.
Tilgjengelighet:
Gjør det enklere og raskere å utføre distribuert trening i TensorFlow og andre rammeverk, slik at forskere lettere kan gå utover enkelt-GPU-trening.
Les mer:
For dypere innsikt, se artikkelen “Horovod: fast and easy distributed deep learning in TensorFlow.”
NLP-modelltrening:
Artikkelen “Modern Distributed Data-Parallel Large-Scale Pre-training Strategies For NLP models” av Hao Bai utforsker data-parallell trening ved bruk av PyTorch og Horovod. Studien fremhever Horovods robusthet, spesielt i kombinasjon med Apex mixed-precision-strategien, noe som gjør det effektivt for store modeller som GPT-2 med 100M parametere.
Dynamisk planlegging:
Artikkelen “Dynamic Scheduling of MPI-based Distributed Deep Learning Training Jobs” av Tim Capes m.fl. undersøker dynamisk planlegging av dyp læring-jobber ved bruk av Horovods ringarkitektur. Den viser at det muliggjør effektiv stopp og gjenopptakelse av jobber, reduserer samlet gjennomføringstid og demonstrerer tilpasningsevne for komplekse dyp læringsoppgaver.
Horovod er et åpen kildekode-rammeverk for distribuert dyp læring utviklet av Uber for å forenkle trening på flere GPU-er og maskiner, med støtte for TensorFlow, Keras, PyTorch og MXNet.
Horovod bruker Ring-AllReduce-algoritmen for effektivt å gjennomsnittberegne gradienter på tvers av noder, noe som minimerer kommunikasjonsbelastningen og kodeendringer for skalerbar trening.
Horovod brukes i KI-automatisering, chatboter, selvkjørende biler, svindeldeteksjon og alle scenarioer som krever rask, storskala modelltrening.
Horovod vedlikeholdes nå under Linux Foundation AI, med et sterkt åpen kildekode-fellesskap som bidrar til utviklingen.
Horovod krever GNU Linux eller macOS, Python 3.6 eller nyere og CMake 3.13+. Det kan installeres via pip med flagg for rammeverksstøtte.
Start å bygge dine egne KI-løsninger med FlowHunt sine kraftige verktøy og sømløse integrasjoner.
Caffe er et åpen kildekode dyplæringsrammeverk fra BVLC, optimalisert for hastighet og modularitet i bygging av konvolusjonelle nevrale nettverk (CNN). Caffe er...
Oppdag viktigheten og bruksområdene for Human in the Loop (HITL) i AI-chatboter, der menneskelig ekspertise forbedrer AI-systemene for økt nøyaktighet, etiske s...
Chainer er et åpen kildekode-rammeverk for dyp læring som tilbyr en fleksibel, intuitiv og høytytende plattform for nevrale nettverk, med dynamiske define-by-ru...