日本マイクロソフトで DeepSpeed ミートアップを開催、その機能や活用法とは

マイクロソフトが開発した DeepSpeed は、深層学習を大規模かつ高速に実行するためのオープンソースソフトウェアです。5 月下旬、DeepSpeed のミートアップを日本マイクロソフトの品川本社にて開催、DeepSpeed チームの主要メンバーが概要を語ったほか、すでに DeepSpeed を採用しているユーザー企業が活用法などを語りました。

■DeepSpeed の機能を紹介

今回のミートアップでは、マイクロソフト コーポレーションで DeepSpeed のプリンシパルリサーチャー (Principal Researcher) を務める田仲正弘が、「DeepSpeed は AI 分野のオープンソースソフトウェアとして最も広く活用されているもののひとつ」として、機能の紹介をしました。

DeepSpeedの機能を紹介

深層学習では、大量の訓練データを与えてモデルを訓練しますが、計算量やメモリ量、処理データ量が非常に多くなるという課題を抱えています。そういったさまざまな技術的課題を解決するのが DeepSpeed です。例えば、モデルが大きすぎて GPU メモリに収まらないという課題に対しては、ZeRO (Zero Redundancy Optimizer) という機能を用意しています。

また、推論のフェーズでも、テキストを高速に生成する DeepSpeed-FastGen や、スケーラブルで高速な推論のための DeepSpeed Inference など、さまざまな機能が提供されています。

中でも ZeRO は、DeepSpeed の機能として最初に注目された機能です。ZeRO は、深層学習におけるデータ並列のメモリ利用を効率化するもので、巨大モデルを高い効率で学習し、幅広いモデルに適用できるという特徴を持っています。

ZeRO には、学習パラメータなどのデータを GPU メモリから CPU メモリにオフロードする ZeRO-Offload という仕組みがあります。ZeRO-3 と組み合わせることで、400億 パラメータという大規模なモデルでも一基の GPU だけで学習することが可能です。

加えて、CPU メモリだけでなくNVMeストレージにもオフロードする ZeRO-Infinity という仕組みも用意しています。これは、ZeRO-3 をはじめとしたあらゆる省メモリ技術を組み合わせ、極めて大きなモデルの学習に挑戦するものです。

このほか、田仲が現在取り組んでいる機能として紹介したのは、学習の途中で実行環境や設定を変更する場合に利用できる Universal Checkpoint 機能です。この機能により、学習途中で保存したモデルや Optimizer の状態を異なる並列設定で読み込み、学習が再開できるようになります。

さらに高度な機能として田仲は、ZeRO++、DeepSpeed Mixture of Experts (MoE)、DeepSpeed-FastGen についても紹介しました。

ZeRO++ は、ZeRO の通信量を減らす工夫を施したものです。通信帯域が限られている場合に特に顕著な高速化が可能です。MoE は、新しいタイプのモデルアーキテクチャです。入力データに応じてモデルの一部のみを計算することで、ZeRO などの並列化では削減できない膨大な計算量や時間、コストを削減するものです。DeepSpeed MoE は、この MoE のモデルを大規模かつ高速に学習するためのものです。DeepSpeed-FastGen は、テキスト生成を高速化し、高効率に実行するためのフレームワークです。テキスト生成時に課題となる、デコード時の GPU 利用率の低さとプロンプト処理時のレイテンシの長さを解決する機能です。

最後に田仲は、PyTorch のコンパイル機能との統合や I/O 高速化など、現在進行中のプロジェクトについても触れ、「DeepSpeed は OSS コミュニティからの貢献が重要なので、ぜひご参加ください」と呼びかけました。

■楽天グループの LLM「Rakuten AI 7B」

楽天グループからは、Machine Learning and Deep Learning Engineering Department (マシンラーニング・ディープラーニングエンジニアリング部) で Senior Machine Learning Engineer を務める高橋直紀氏と、Search Department (サーチ部) の Data Scientist である王晨光氏が登壇し、同社が今年 3 月に公開した大規模言語モデル (LLM)「Rakuten AI 7B」について説明しました。

楽天グループのLLM「Rakuten AI 7B」 楽天グループのLLM「Rakuten AI 7B」

楽天グループが公開したのは、LLM の基盤モデルとなる「Rakuten AI 7B」と、同モデルを基にしたインストラクションチューニング済モデルの「Rakuten AI 7B Instruct」、そしてこのインストラクションチューニング済モデルを基にファインチューニングを行ったチャットモデルの「Rakuten AI 7B Chat」です。いずれも日本語に最適化した高性能なモデルで、Nejumi リーダーボード上では同程度のサイズの他モデルよりも精度が大幅に上回っています (2024 年 3 月時点)。

このモデルは、Mistral AI 社のオープンモデルである「Mistral-7B-v0.1」をベースにしています。高橋氏によると、Mistral を日本語に適応させるため、トークナイザーの日本語への最適化や追加事前学習、ファインチューニング、ポリシー最適化などを実施し、「いずれの学習においても、DeepSpeed のフレームワークを利用することで分散処理している」(高橋氏) とのことです。

高橋氏は、トークナイザーの最適化と追加事前学習に使用したデータの生成方法についても解説しました。Mistral モデルを活用するにあたっては、日本語トークンを追加してスキームを改善し、他の日本語に強い LLM よりも効率的に日本語テキストを圧縮できたとしています。

また、事前学習や追加事前学習に使用したデータベースのパイプラインについては、特に重複排除が重要だとして、Min hashというアルゴリズムを採用したとのことです。

続いて王氏は、モデルのトレーニングについて解説。LLM の言語理解能力を評価する LM-harness や、Supervised Fine-Tuning (SFT) によるトレーニング、SFT の欠点をカバーするための Reinforcement Learning from Human Feedback (RLHF) などについて語りました。

最後に王氏は、今回楽天が公開した 3 つのモデルは、Apache 2.0 ライセンスの下で提供され、楽天の公式 Hugging Face リポジトリからダウンロードできると述べ、「ご自由にダウンロードしてお使いください」とアピールしました。

■Turing のマルチモーダル学習ライブラリ「Heron」

完全自動運転車の開発に取り組む Turing 株式会社で Director of AI を務める山口祐氏は、同社のマルチモーダル学習ライブラリ「Heron」について解説しました。

Turingのマルチモーダル学習ライブラリ「Heron」

マルチモーダルモデルとは、複数の入力形態 (モーダル) に対応したモデルのこと。山口氏は、「高度な自動運転には、視覚情報と言語的理解が融合したマルチモーダル的な理解が必要です」と述べ、現在 LLM をベースとした言語以外の入力・出力・タスクに対応するモデルが台頭してきていると語ります。

山口氏は、代表的なマルチモーダルモデルを複数紹介。DeepMind が開発した画像、ビデオ、テキストを同時に処理する Flamingo や、画像と言語の高品質な指示チューニングデータで高い性能を実現するマイクロソフトの LLaVA、さまざまな工夫を重ねて軽量モデルで最高レベルの性能を達成した Hugging FaceのIdefics2 について説明しました。

Turing のマルチモーダル学習ライブラリ Heron は、「さまざまなモジュールや学習設定を自由に置き換えて簡単に学習できるのが特徴です」と山口氏。また、「分散学習にも対応しており、そこに DeepSpeed を採用しています」といいます。Heronは、OSS として公開しています。

山口氏は、画像と言語両方の情報処理ができる日本語 V&L (Vision and Language) モデルでの推論例も紹介。「運転中の映像からどこに気をつけるべきか質問を投げかけると、道路工事の作業員やカラーコーンの位置を把握し、交通規則を遵守しつつ安全に迂回したり一時停止したりするよう促す回答が戻ってきます」と説明しました。

また Turing は、V&L を評価するベンチマークとして「Heron-Bench」も公開しています。これについては、WandB 社と連携し、オープンなリーダーボードとして採用することも準備中だといいます。

Heronライブラリでは、DeepSpeed を分散学習のバックエンドとして採用し、大規模モデルの学習を効率的に進めています。特に、フルパラメータファインチューニングなどにおいてはマルチノード学習が必須となり、Heron のベースとなっている Transformers との親和性が高い DeepSpeed を活用しています。

Turing は今後、大規模なGPUクラスタを活用した、をマルチモーダルモデルの分散学習の準備を進めています。現在、国の支援によるプロジェクトにてマルチモーダルモデルの学習を進めているほか、「自社でも GPU クラスタを構築しようと取り組んでいます」と、山口氏は述べました。

■日本の AI 技術を発展させるには

ミートアップの最後には、田仲の司会によるパネルディスカッションが行われました。パネリストとして参加したのは、Sakana AI 株式会社 リサーチサイエンティストの秋葉拓哉氏、東京工業大学 教授の横田理央氏、先ほど講演に立った Turing の山口氏、そして株式会社フィックスターズ LLM R&D Center 開発責任者の吉藤尚生氏です。

ディスカッションでは、使用している計算機環境の構築や運用における特徴、また開発の体制とその課題についてそれぞれ語った後、田仲が「日本の AI 技術を発展させるために注力すべきことは何か」と問いかけました。

このトピックは、単純に米国の大手テクノロジ企業で作られた基盤モデルやソフトウェアを使うだけではつまらない、という考えから取り上げられたものですが、秋葉氏は「Sakana AI では、米国大手企業とは異なる面白い技術を作りたいと考えています。日本は米国と適度に距離が離れた場所で、じっくり研究に取り組むことができます。米国にいるとさまざまな最新情報が入ってきて刺激にはなりますが、そこから距離のある日本で、時間をかけて技術に投資するスタンスが作れることはアドバンテージだと思うので、がんばっていきたいですね」と述べました。

日本のAI技術を発展させるには

世界でもトップクラスの技術を生み出すプロジェクトに携わる人材を多数育ててきた横田氏は、人材育成も含めた観点から、「日本国外でも活躍できる人になってもらいたい。国境を超えて競争するような人材がたくさん育つようになれば、競争力も高まるでしょう」と語ります。

Turing

山口氏は、「We overtake Tesla」(テスラを追い越す) という Turing の企業ミッションについて触れた上で、「自動車産業は日本の基幹産業のため、生成AIとうまく連携してやっていくことは非常に重要で、日本でなければできない部分もあると考えています。OpenAI のように強力なモデルを次々発表する企業もありますが、Turing は業界に特化して他社にはできないことをやっていきたいですね」と、意欲を見せます。

山口氏のコメントを受け、吉藤氏は「追いつけ・追い越せの精神を持つことはとても大切。新しい技術が登場したら、しっかりその技術を取り込んで、まずは追いつくことです。追いつけなければ追い越せませんから」と話します。「そのような精神でいる人の方が、技術力も高い傾向にあると感じます」(吉藤氏)

AI分野

そして、AI 分野に追いつき、追い越すには、システムの効率化が必須だと吉藤氏は付け加えます。そのためにも、「GPU の高速化に取り組んだり、DeepSpeed のような技術をうまく使ったりしてほしいと思います」と述べ、ディスカッションを締めくくりました。

パネルディスカッション参加者ら。左から、Turing 山口氏、東京工業大学 横田氏、マイクロソフト 田仲、フィックスターズ 吉藤氏、Sakana AI 秋葉氏
パネルディスカッション参加者ら。左から、Turing 山口氏、東京工業大学 横田氏、マイクロソフト 田仲、フィックスターズ 吉藤氏、Sakana AI 秋葉氏

本ページのすべての内容は、作成日時点でのものであり、予告なく変更される場合があります。正式な社内承認や各社との契約締結が必要な場合は、それまでは確定されるものではありません。また、様々な事由・背景により、一部または全部が変更、キャンセル、実現困難となる場合があります。予めご了承下さい。

Tags:

関連記事