ブックマーク / zenn.dev/turing_motors (7)

  • TFRecordとWebDatasetを使った分散並列学習とパフォーマンス調査

    はじめに Turing株式会社の自動運転MLチームでエンジニアをしている越智 (@chizu_potato)と塩塚 (@shiboutyoshoku) です。 Turingが目指す自動運転は、大量のデータで学習された非常に賢い機械学習モデルを活用することです。そのために、走行パートナーの方たちと協力して創業時からこれまで大量の走行データを取得してきました。走行データは車両に取り付けられた複数カメラによる360度をカバーした動画と、そのときの速度やGPSなどの走行ログを含んでいます。データサイズは80TBを超え、時間換算で3500時間程度です。 これだけのデータサイズでモデルを学習するためには、1枚のGPUだけで頑張るには限界があり複数のGPU (multi-GPU) による分散並列学習が必要となってきます。しかし、ただ分散並列学習を行うだけではmulti-GPUに対し、データの入出力 (I

    TFRecordとWebDatasetを使った分散並列学習とパフォーマンス調査
  • 走行動画を説明するLLMを作成し、80台のGPUで分散並列学習させた話

    3行でまとめると LLM分散学習ハッカソンに参加し、Vision-Languageモデルの一つであるBLIP2のHuggingFaceモデルを拡張して動画からテキスト生成するVideoBLIPを作成しました。ソースコードはGithubで公開しています。 運転映像に対する説明文章を学習に用いてVideoBLIPの学習を行い、運転映像を説明するモデルを作成しました。(以下のように運転映像に対して説明文が出力されます) 学習を高速化するためにマルチノードで学習を行えるようにし、実際にABCIのGPU80台を使って分散学習を行い、4GPUで行った場合の20倍の計算速度が実現できました(Strong Scaling!) 分散並列学習にはDeepSpeedを用いました。 はじめに Brain Researchチームで自動運転AIを開発している棚橋です。Brain Researchチームではレベル5の完

    走行動画を説明するLLMを作成し、80台のGPUで分散並列学習させた話
  • 大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part2

    はじめに Turing 株式会社リサーチチームの藤井(@okoge_kaz)です。 Turingでは、自動運転を支える技術のひとつとして大規模言語モデル(Large Language Model: LLM)に注目しており、関連する技術の研究開発を行っています。 つい先日、大規模言語モデルの事前学習を行う際に用いられることが多いmicrosoft/Megatron-DeepSpeedが大きくupdateされました。(日時間 2023/6/13, 2023/7/21に大きな変更がありました。) 具体的には、fork元であるNVIDIA/Megatron-LMの最新の変更を取り込むことを行ったようです。 セットアップ方法は以下の記事で紹介している通りで、変化はないのですが、Job Scriptの引数や、新機能を使用するためのTipsなど補足するべきことが多数存在します。 そのため、今回は前回の

    大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part2
  • 大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part1

    はじめに Turing 株式会社のリサーチチームでインターンをしている東京工業大学 B4 横田研究室の藤井(@okoge_kaz)です。 大規模言語モデル(Large Language Model: LLM)への注目がGPT-4のリリース以降高まっていますが、LLMを作るための知見は十分に共有されているとは言い難いと個人的に感じています。 Turingでは、Vision and Language, Video and Languageなどのマルチモーダルなモデルの研究開発を行っている一環として、Megatron-DeepSpeed, GPT-NeoXなどを用いて数十Bのモデルの学習を行う知見を蓄積しています。今回はLLMの事前学習を行う際に候補となるMegatron-DeepSpeedを用いてGPT-2-7B(6.6B)の学習をどのように行うのかについて解説します。 分散並列学習がどのよう

    大規模言語モデル(LLM)の作り方 Megatron-DeepSpeed編 Part1
  • 大規模モデルを支える分散並列学習のしくみ Part1

    はじめに Turing 株式会社のリサーチチームでインターンをしている東京工業大学 B4 横田研究室の藤井(@okoge_kaz)です。 自然言語処理分野における大規模深層学習の重要性は日に日に高まっていますが、GPT-3, GPT-4 などのモデルの学習には膨大な計算コストがかかり、容易に学習できなくなっています。実際、モデルサイズが近年急速に大きくなっていることにより、学習に必要な計算量(FLOPs)は以下のように年々膨大になっています。近年の大規模モデルでは、NVIDIA H100 80GB であっても 1 つの GPU では、モデルをのせることすらできません。 Compute Trends Across Three Eras of Machine Learning より またScaling Laws によると、大規模なモデルは小さいモデルと比較してより優れた性能を発揮するため、自動

    大規模モデルを支える分散並列学習のしくみ Part1
  • Pythonコードを35000倍に高速化したい

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

    Pythonコードを35000倍に高速化したい
  • 実践!大規模言語モデル / 1000億パラメータ越えモデルを動かすには?

    こんにちは。Turing株式会社の機械学習チームでインターンをしている九州大学修士1年の岩政(@colum2131)です。 Turingは完全自動運転EVの開発をするスタートアップです。 自動運転技術において、カメラやセンサ情報は正確な制御をする上で不可欠な要素である一方、自然言語やマルチモーダルな処理が必要となる状況もしばしば存在します。特に完全自動運転車においては、音声認識によってドライバーの音声命令を認識し、リアルタイムで適切な制御を行うことや、複雑な交通状況の背景にあるコンテクストを理解させるといった要求が出てきます。そのために、「基盤モデル」と呼ばれるような、自然言語処理を含む大規模モデルの学習が必要になってくると、私たちは考えています。 そこで記事では、言語モデルの発展の流れとTuringが目指す基盤モデルの開発について紹介します! 1. 言語モデルとは? 近年の言語処理モデ

    実践!大規模言語モデル / 1000億パラメータ越えモデルを動かすには?
  • 1