ラズパイで作るLLMエッジ 文章生成のメカニズム


もっとも相応しい単語の選択と接続

文章生成のメカニズムともっとも相応しい単語の選択

図1 LLMは「吾輩は猫である名前は」という文脈で,次にくる単語を「まだ」や「決まって」などの尤度が高い単語として推定する.画像クリックで動画を見る.または記事を読む.[提供・著]井上 祐寛
詳細[VOD/Pi5 KIT/data]大規模言語モデルLLMによる生成AIプログラミング入門

LLMの進化と特徴

大規模言語モデル(LLM)は,自然言語処理の分野で革命を引き起こしています.従来の自然言語処理(NLP)技術とは異なり,LLMは膨大なテキスト・データを用いて事前学習を行い,ディープラーニング(特にTransformerアーキテクチャ)を活用して文章を全体の文脈を考慮して処理します.

GPTシリーズやMetaのLlama2 7Bのようなモデルは,数十億から数千億のパラメータをもつ大規模モデルであり,文の要約,翻訳,質問応答,文章生成など,幅広いタスクを1つのモデルで処理できる汎用性をもっています.

大規模言語モデルの動作:もっとも相応しい単語の選択

LLMは,入力された文脈に基づいて次にくる単語を推定するしくみをもちます.

  1. 入力文脈の理解
    LLMは,入力された文脈を全体として理解し,次にくる単語を予測します.「吾輩は猫である名前は」という文脈で,次にくる単語を「まだ」や「決まって」などの尤度が高い単語として推定します
  2. 尤度の計算
    各単語に対して尤度(確率)を計算し,もっとも相応しい単語を選択します.例えば,文脈「吾輩は猫である名前は」の次にくる単語として,「まだ」(尤度:0.450),「決まって」(尤度:0.150)などの尤度が計算されます
  3. テキストの生成
    これを繰り返すことで,テキストの生成を行います.LLMは,文の流れや背景を十分に理解することができるため,自然で意味のあるテキストを生成できます

LLMの課題:計算リソースの必要性

LLMの性能向上は,同時に高い計算リソースの必要性を伴います.通常,専用のクラウド・サーバやGPUクラスタが必要で,ラズベリー・パイのようなエッジ・デバイスではそのまま動作させることが難しいです.Llama2 7Bのようなモデルは,約70億のパラメータをもち,元のモデル・サイズは28Gバイトに達しますが,ラズベリー・パイのメモリは8Gバイトしかないため,軽量化技術が必須です.

ローカル環境でのLLM実行

技術の進化により,PCやラズベリー・パイでのLLMの実行が可能になりました.ローカル環境でのLLM実行には次のような利点があります.

プライバシの確保

機密データをクラウドに送信せず,ローカルでAI処理を完結させることで,データ漏洩のリスクを最小限に抑えることができます.

低遅延の実現

クラウド環境を経由する場合とは異なり,ローカル環境ではデータの送受信に伴う遅延が発生しないため,リアルタイム性の高い応答が可能です.

コスト削減

クラウド・サーバの利用にはランニング・コストが発生しますが,ローカル環境での実行により,これらのコストや通信費を削減できます.

ラズベリー・パイでのLLM運用の現状と課題

ラズベリー・パイでのLLM運用には,次のような課題があります.

モデル軽量化の必要性

ラズベリー・パイのメモリ制約を克服するために,モデル軽量化技術が重要です.主な手法には量子化,蒸留,枝刈りがあります.

  1. 量子化
    モデルの内部表現を32ビットから8ビットに変換することで,メモリ使用量を減らします.例えば,Llama2 7Bを量子化により4Gバイト以下に圧縮することが可能です
  2. 蒸留
    大きな教師モデルから小さな生徒モデルを訓練し,推論時の効率を向上させます.教師モデルの知識を生徒モデルに伝えることで,計算コストを削減しつつも高精度を維持します
  3. 枝刈り
    不要な接続を削除することで,モデル構造を効率化し,さらに計算資源の削減を実現します

電力と冷却

高負荷処理では5V 5A以上の電力が必要で,ファンやヒートシンクを追加することが推奨されます.適切な電力供給がない場合,ラズパイが途中でシャットダウンするリスクがあります.

〈著:ZEPマガジン〉

動画を見る,または記事を読む

著者紹介

  • 株式会社クレスコ入社後,銀行向けシステムなど数多の開発にリード・エンジニアとして従事.後に自社ソリューションとなる統合認証システムの基礎を独力で開発するなど,アイデアと技術でクレスコを牽引する.技術研究所での機械学習研究を経て,人工知能を強みとする部門に異動.現在はテクニカルエバンジェリストとして企業が持つ業務課題へのAI適用に関するコンサルティング,機械学習に関する技術支援を行う一方,自ら研究テーマを持ち共同研究,実験システムの構築も担当.「SoftwareDesign」「やってみよう!機械学習」(技術評論社),「日経ソフトウェア」「AIプログラマになれる本」(日経BP)への記事寄稿,会津大学,はこだて未来大学,琉球大学,早稲田大学のほかWatson SummitやMicrosoftでの講演等,社外でも精力的に活動中

著書

  1. ラズパイ+USB SDRで作るFlightradar24 Businessアカウント・フィーダ,ZEPエンジニアリング株式会社.
  2. [VOD/KIT]ラズベリー・パイで学ぶエッジAIプログラミング入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]世界の航空機を同時追跡!Flightradar24 ラズパイ・キット,ZEPエンジニアリング株式会社.
  4. [VOD/KIT]人工知能カメラM5StickVで作って学ぶ画像解析AI開発入門,ZEPエンジニアリング株式会社.
  5. いろんなことを試して学ぶ! Pythonプログラミング,2021年,日経BP.
  6. エッジAIプログラミング M5StickV 活用編,日経ソフトウェア2020年11月号,日経BP.
  7. エッジAIプログラミング M5StickV 準備編,日経ソフトウェア2020年7月号,日経BP.
  8. Kaggleに参戦しよう(連載),日経ソフトウェア2020年1月号,日経BP.
  9. Kaggleに参戦しよう(連載),日経ソフトウェア2019年9月号,日経BP.
  10. Kaggleに参戦しよう(連載),日経ソフトウェア2019年7月号,日経BP.
  11. AIプログラマになれる本,2019年,日経BP.
  12. やってみよう! 機械学習 第2章 機械学習の始め方,2019年,技術評論社.
  13. 人工知能で画像生成 応用編,日経ソフトウェア2019年1月号,日経BP.
  14. 人工知能で画像生成 基本編,日経ソフトウェア2018年11月号,日経BP.
  15. 自分で構築するか,APIで機能を使うか 機械学習の始め方,Software Design2018年4月号,技術評論社.

参考文献

  1. [VOD/Pi3A KIT]ラズパイ・キットで学ぶLinux I/Oボードの作り方・探し方・動かし方,ZEPエンジニアリング株式会社.
  2. [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  3. [VOD/PiZero KIT]Python×ラズパイで初めての量子コンピュータ,ZEPエンジニアリング株式会社.
  4. [VOD/Pi400 KIT]SLAMロボット&ラズパイ付き!ROSプログラミング超入門,ZEPエンジニアリング株式会社.
  5. [VOD/Pi KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.