Jusqu'à présent, l'application de covoiturage Uber la croissance a été extraordinaire dans le monde entier, prenant en charge environ 14 millions de voyages chaque jour. Jusqu'à présent, la société n'a pas discuté de l'architecture de sa voiture autonome en public. Pour la première fois, Uber a dévoilé le fonctionnement interne en détail, les complexités du développement de la voiture autonome en général, et bien plus encore.
VerCD - Outil pour prendre en charge le flux de travail ML !
En raison de plusieurs dépendances profondes et de la complexité du développement des modèles ML, la société a créé VerCD, un ensemble d'outils et de microservices pour prendre en charge notre flux de travail ML.
Selon les revendications de la société, VerCD permet au team utiliser l'automatisation livraison continue (CD) pour suivre et gérer les dépendances versionnées des artefacts ML.
Uber dans un article de blog :
" ML teams développer des modèles à grande échelle peut constater que les pratiques et les outils présentés ici comme notre cycle de vie de modèle en cinq étapes et VerCD, développé chez Uber ATG pour les véhicules autonomes, peuvent s'appliquer à plusieurs cas d'utilisation, les aidant à itérer sur leur infrastructure.
Selon l'entreprise, l'essentiel des efforts d'ingénierie a été consacré à l'ajout d'intégrations spécifiques à l'entreprise pour permettre aux orchestrateurs existants d'interagir avec l'ensemble hétérogène de systèmes tout au long du flux de travail ML de bout en bout. Il suit toutes les dépendances de chaque composant ML, qui inclut souvent des données et des artefacts de modèle en plus du code.
Logs collectés sur les voitures autonomes d'ATG !
Les vastes ensembles de données gérés par VerCD proviennent de journaux collectés par les ATG voitures auto-conduite, et il comprend des images provenant de caméras, des informations sur les points lidar et les radars, l'état du véhicule et des données cartographiques. Celles-ci sont toutes divisées en données de formation et données de validation, où 15 % sont destinés aux tests, 75 % à la formation et 10 % à la validation.
Un outil appelé GeoSplit est utilisé pour sélectionner les journaux et les répartir entre l'entraînement, le test et la validation en fonction de leur emplacement géographique. "Une fois que nous avons divisé les données, nous les extrayons de nos journaux de génération de données en utilisant Pétatempête, la bibliothèque d'accès aux données open source d'Uber ATG pour l'apprentissage en profondeur.
Utilise une approche hybride des ressources informatiques ML !
Lors de l'enregistrement d'un nouvel ensemble de données par l'utilisateur, le service d'ensemble de données VerCD stocke les métadonnées de dépendance dans notre base de données. Les ensembles de données sont identifiés par le numéro de version et le nom ainsi que les dépendances suivies par VerCD, ce qui permet la réplication exacte des identifiants des journaux de capteurs des véhicules autonomes, des métadonnées décrivant le cycle de vie des ensembles de données, etc.
De plus, Uber ATG utilise une approche hybride des ressources informatiques ML, avec une formation jobs en cours d'exécution sur site data centers alimenté par des clusters GPU et CPU ainsi que la formation en cours d'exécution jobs dans le nuage. Peloton, un planificateur de ressources unifié open source développé par Uber, est utilisé pour orchestrer la formation jobs utilisation sur site data centers avec les GPU.
« Notre processus de cycle de vie de modèle ML et les outils que nous avons créés pour le rationaliser, tels que VerCD, nous aident à gérer les nombreux modèles différents que nous utilisons et à itérer plus rapidement sur les modèles. Ces pratiques et solutions sont nées de notre besoin de travailler efficacement tout en développant un système de véhicule autonome précis. »
Avancer!
« Nous avons pu faire beaucoup de progrès en établissant les différentes étapes du flux de travail dans le développement de ML, et à leur tour, en développant les systèmes de support tels que VerCD pour gérer la complexité accrue du flux de travail de ML. Au fur et à mesure que notre technologie continue de mûrir et d'augmenter en complexité et en sophistication, il devient de plus en plus impossible de s'appuyer sur une intervention humaine manuelle pour gérer les étapes du flux de travail ML. Ces outils permettent aux ingénieurs d'effectuer des itérations plus rapides des composants ML, ce qui améliore les performances de nos véhicules autonomes. »
Crédits photo de l'image principale: Uber
Restez à l'écoute Silicon Canals pour plus de technologie européenne news.