講演「SCSKのAI技術戦略 – 最新手法の活用とこれからの展望」~PCクラスタワークショップ in すずかけ台2024~
2024年6月27日にPCクラスタワークショップ in すずかけ台2024が開催されました。本ワークショップにSCSKの技術戦略本部 先進技術部 富田が登壇し、当社グループのAI技術戦略の取組について講演しました。
本記事では当日の講演内容を紹介します。
イベント概要
PCクラスタコンソーシアムはPCクラスタ向けソフトウェアの開発、維持、普及を通して、PCクラスタ市場育成に貢献することを目的とした共同事業体であり、SCSKも法人会員として参画しています。近年はクラウドなど先進的なHPCクラスタ(※1)利用技術やAI・ビッグデータ利用などのHPCクラスタを基盤とする関連情報技術の普及と市場育成に貢献しています。
本ワークショップでは、「GPUとHPC」をテーマに、東京工業大学すずかけ台キャンパスにて稼働を開始したスーパーコンピュータシステムの紹介と、「GPUとHPC」をサブテーマに、機械学習やHPCを用いた応用技術や研究開発に関する講演が行われました。
※1 HPCクラスタ: HPC(ハイパフォーマンスコンピューティングクラスター)は、高性能計算を行うために設計された複数のコンピューター(ノード)がネットワークで接続されたシステムです。
講演「SCSKのAI技術戦略 – 最新手法の活用とこれからの展望」
SCSKにおける先進技術の取り組み方針
SCSKは既存技術と先進技術を融合し、お客様の価値向上に貢献することを目指しています。短期目標として、AI/IoT技術による当社事業の差別化を掲げ 、AI技術の現場実装、大規模データの活用技術、現場デジタル化に注力しています。中期目標では、サイバーフィジカルと分散型世界への対応として、次世代ビジネス基盤であるWeb3やメタバースの開発を進めています。長期目標としては、次世代大規模データ活用技術である量子コンピューティングの開発を進めています。
SCSKにおける生成AIの取り組み
SCSKでは生成AIの技術的活用を以下の4つの段階に分けて推進しています。
(1) 利用 …… 適切な質問や指示、独自情報によって最適な結果を引き出す。
(2) 参照 …… 予め参照ドキュメントを準備し、質問に関連した付加情報をプロンプトに追加。(具体例:RAG)
(3) 追加学習 …… 事前学習されたモデルに対し追加学習を行い、特定のタスクやドメインに特化したモデルを作成。
(4) モデル作成 …… 大量のデータを学習し基礎モデルを作成。
SCSKグループでは、これまで(1)生成AIの利用と(2)RAGを活用したドキュメント参照に取り組むことで生成AIを積極的に活用できる環境を整備し、業務の効率化や生産性の向上、また新規事業の創出を目指してきました。
今後は、(3)ファインチューニングをはじめとする追加学習、(4)のモデル生成の研究開発といった、さらに生成AIの利用シーンを拡張する取り組みを進めていきます。追加学習では、用途別モデルや個別LLM(大規模言語モデル)、少量のデータやパラメータで言語モデルを作成するSLM(小規模言語モデル)および、それらを指示により切り換えられるAIエージェントを研究開発テーマとして取り組んでいます。モデル作成については、パートナーや産学官と協働して独自モデルの作成を目指していきます。
■LLM学習の流れ
SCSKではLLM学習を4つのステップで進めています。
1.事前学習(Pre-Training)
使用データ:大規模コーパス
手法:自己教師あり学習
目的:知識や言語理解の獲得
2.継続事前学習(CPT: Continual Pre-Training)
使用データ:学ばせたい新知識を含むコーパス
手法:事前学習済みのモデルに追加で事前学習
目的:新しい知識や言語理解の獲得
3.教師ありファインチューニング(SFT: Supervised Fine-Tuning)
使用データ:指示データや対話データのようなラベル付きデータ
手法:教師あり学習
目的:特定のタスクやドメインへの適応・言語モデルの性能の改善
4.人間のフィードバックによる強化学習(RLHF:Reinforcement Learning from Human Feedback )
使用データ:人間のフィードバックデータ
手法:強化学習
目的:出力をより人間らしく見えるようにする
SCSKはこれらのステップの中でも、継続事前学習と教師ありファインチューニングに注力しています。継続事前学習では、学ばせたい新知識を含むコーパスを使用データとして、事前学習済みモデルに自己教師あり学習を行うことで、新しい知識や言語理解の獲得に取り組みます。教師ありファインチューニングでは、指示データや対話データといったラベル付きデータに教師あり学習を行うことで、特定のタスクやドメインへの適用、言語モデルの性能改善を目指します。
■GPUサーバーの導入でLLMの学習を効率化する
前述のLLMの継続事前学習や教師ありファインチューニングを行うためには、PCに膨大なメモリと処理速度が必要とされ、中でもGPUのメモリ容量が重要です。例としてMeta社のLLM「Llama2 7B」に学習を行なった場合、ピーク時のメモリ消費量は、 112GB + 順伝播(※2)に必要なメモリ とかなり膨大なメモリ量です。
※2 順伝播: ニューラルネットワークにおいて入力データがネットワークを通って出力に変換されるプロセス。
学習の前提条件
・精度: float32
・オプティマイザー: adam
・モデルサイズ: 7 × 4 = 28GB
・Forward passメモリ: Forward memory(バッチサイズ・シーケンス長などにより変わる)
このように数10億のパラメータを持つモデルを学習する場合、数百GBから数TBのメモリが必要とされるため、一台のGPUでこれを実行するのは困難です。そのため、GPUサーバーを使用した分散学習によって複数のマシンに処理を分散させることが一般的です。
SCSKでは、効率的な学習を行うためHPE社製のGPUサーバーを導入しました。
このサーバーは、分散学習に必要な高性能なハードウェアと優れたネットワーク帯域を備え、80GBのGPU8台、さらに高性能なプロセッサーと、2048GBのメモリにより、大規模データセットの処理が行えます。さらに、InfiniBandを使用した高速接続により、LLMの学習を効率的に進めることが可能です。
このGPUサーバーと分散学習の組み合わせによる学習時の消費メモリを、MicrosoftのDeepSpeed ZeROを例に紹介します。
DeepSpeed ZeROは大規模で高速な深層学習を容易に実現するための機能を持つライブラリであり、どの程度モデルを分割するかによってステージ1〜3に分けられます。ステージが1から3に上がるにつれ、必要なメモリ量は小さくなります。
SCSKが導入したGPUサーバーに合わせて8個のGPUサーバーで学習を分割した場合、DeepSpeed ZeROのステージ1ではオプティマイザー(※3)の計算部分で112GBのメモリ消費を63GBまで減らし、ステージ2ではオプティマイザーのステータスに加えて、勾配(※4)部分をGPU数で分割できるため、38.5GBまでメモリを削減できました。
このようにGPUサーバーと分散学習の組み合わせにより、LLMの事前学習やSFTにおけるメモリ消費を大幅に削減し、効率的な学習を実現しています。
※3 オプティマイザー: 機械学習モデルの学習中に使用される最適化アルゴリズムです。これは、訓練データにおける損失関数の値を最小化することを目的に、モデルのパラメーター(例えば重みやバイアスなど)をどのように更新するかを決定します。
※4 勾配: ある点における関数の傾き。ニューラルネットワークなどのモデル学習においては、損失関数の勾配を計算することで、最適化アルゴリズム(例えば勾配降下法)によりモデルのパラメータを更新します。これにより、モデルが訓練データに適合し、予測精度を向上させることが可能です。
今後の展望
SCSKでは、導入したGPUサーバーを活用してLLMのファインチューニングを行い、特定のニーズに応じたLLMの開発や、小さなコンピューターでも動かせる、特定タスクに最適化されたSLMの構築も進めます。さらに、これらのモデルを活用できるようタスクを自動化し、それらを割り振るAIエージェントの開発も行う予定です。GPUサーバーを活用し、生成AIをはじめとする先進技術の研究開発を一層進めてまいります。
SCSKでは今後共に活躍していただける高度デジタル人材を募集しています。詳細は各採用サイトをご覧ください。
新卒採用サイト
https://www.scsk.jp/recruit/saiyo/
キャリア採用サイト
https://www.scsk.jp/recruit/career/