Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLMの基礎とLLM活用に関連した著名なツールの紹介.pdf

 LLMの基礎とLLM活用に関連した著名なツールの紹介.pdf

Other Decks in Technology

Transcript

  1. 2 © 2025 NTT TechnoCross Corporation はじめに [概要] 近年AI技術の進歩が凄まじく、特に「生成AI」「LLM」というキーワードを 耳にしたことがない人はもういないのではないでしょうか。

    NTTテクノクロスでも生成AIの活用に力を入れており、発表者もこれに関連した業務に 多く従事してきました。 そこで今回はその内容の一部を皆様に共有したいと思います。 [目次] 1. AI,生成AI,LLMと今回の発表範囲 2. LLMの基本的な使い方、考え方 3. LLMの種類 4. LLMの精度向上について I. LLM検討と精度向上の進め方 II. 精度向上手法(プロンプトエンジニアリング/RAG/ファインチューニング) III. これらを実現する為のツールと分散という概念 IV. 評価方法 5. 最近の流行りについて
  2. 3 © 2025 NTT TechnoCross Corporation 1-1. 今回の発表範囲① ~AIと生成AIとは~ 「AI」と一口にいっても広範囲。

    【AIの全体像】 いわゆる ルールベース型AI。 広義にはこのようなもの もAIに含む。 皆がイメージするAI。 ニューラルネットワークを 多層にして応用したのが DL(Deep Learning)。 ざっくり 「生成AI」は この辺。
  3. 4 © 2025 NTT TechnoCross Corporation 1-2. 今回の発表範囲② ~生成AIとLLMとは~ 生成AIとは、新たな情報やデータ、成果物を生み出せるAIを指す。

    【生成AIの一例】 種類 説明 著名な活用サービス(一例) テキスト生成AI 自然言語処理(NLP)を使い、 様々なテキストを生成する。 ChatGPT 画像生成AI GANやVAE, CNNといった手法で 画像を生成する。 ChatGPT, Stable Diffusion 動画生成AI GANやVAEで連続する画像を作り、 繋ぎ合わせる事で動画を生成する。 Runway, Sora 音楽生成AI RNNやGAN、VAEを使って音楽を 生成する。 Suno AI, Soundraw 【Point】 大規模言語モデル(LLM)は基本的にはテキストを出力する為、テキスト生成AIに 分類されるが、近年は画像生成もできるようになってきている。 → 生成AI という広い分野のなかに LLM という分野があるというイメージ。 (今回はLLMについて取り扱う)
  4. 5 © 2025 NTT TechnoCross Corporation 1-3. LLMは何がすごいのか 従来のAIモデルは、特定タスクの専門家であった。 LLMは、様々なタスクに柔軟に対応可能。

    また、専門的なことを聞いても「ある程度までなら」精度高く回答ができる。 【従来AI】 【LLM】 要約用AI 翻訳用AI ・・・ ユーザ 用途に応じて 使い分け LLM 翻訳にも要約にも 対応可能 一方でモデルが巨大化し、必要なリソースが増加したり、 ハルシネーション(もっともらしい嘘)を起こす課題もある。
  5. 6 © 2025 NTT TechnoCross Corporation 1-4. 今回の発表範囲③ ~LLMができるまで~ LLMができるまでの流れは以下の通り。

    モデルの 設計、構築 事前学習 インストラク ション チューニング ベース モデル 汎用型 チャット モデル 選好 チューニング 追加学習 必要に応じて、 追加のチューニングを行う。 Chat形式での応答や特定のタスク処理ができるようにチューニングを行う。 「こういう入力がきたら」「こう出力する」という教師あり学習(SFT)を 行う。 大量のテキストを読み込ませる教師なし学習(※)で実施する。 LLMの基本は、確率論で次に来る文字(トークン)の 確率が高いものを選ぶ。 ※ 正確には自己教師あり学習だが、正解を人手で用意しない点や場合によって 教師なし学習と書かれるケースもあるため、本資料では教師なし学習と記載する。 よりユーザに好ましい回答をさせる為の学習。 他人からのフィードバックを用いた強化学習 (RLHF)や、データを与えて学習を行う DPOなどの手法がある。 特化 モデル インストラクションチューニングの前に、 教師なし学習を実行しても良い。
  6. 7 © 2025 NTT TechnoCross Corporation 1-5. 今回の発表範囲④ ~発表範囲について~ やりたいことに応じて関わる箇所も異なる。

    モ デ ル の 研 究 者 ビジネスでの活用 (今回の発表範囲) モデルの 設計、構築 事前学習 インストラク ション チューニング ベース モデル 汎用型 チャット モデル 選好 チューニング 追加学習 特化 モデル
  7. 8 © 2025 NTT TechnoCross Corporation 1-6. LLMを活用する為の階層と本資料の範囲 LLMを活用する上での基盤・構成は以下のように言われる。 アプリケーション

    ツール インフラストラクチャー GPUやチップ、マシンといった環境基盤 LLMを活用する為のツール LLMを活用するアプリケーション 本資料ではアプリケーションやツールに関して取り扱う。
  8. 9 © 2025 NTT TechnoCross Corporation 2-1. LLMの基本的な使い方と考え方 人から見ると、以下のように使用する。 チャット画面

    or プログラム(スクリプト) LLM (モデル) 例) ChatGPT 例) GPT-4o ① 質問文入力 ② 質問文送信 ③ 回答文送信 ④ 回答文表示 ユースケースも広く様々だが、例えば以下がある。 ➢ 文章の要約 ➢ ブレーンストーミング、壁打ち ➢ コードの生成 ➢ エラー処理の一時解析 ➢ プログラムの意味、 概要説明 ユーザ 注意点としては毎回回答が異なる事や ハルシネーションが起こる点。 正しい情報か、人が最終的にチェックすることが重要。 ⇒ 完全自動業務への適用は難しい。 最近はフィジカルAIやデジタルヒューマンと呼ばれる 分野の検討も活発。
  9. 10 © 2025 NTT TechnoCross Corporation 2-2. LLM内の処理の流れについて 【ポイント】 LLMと人は扱う言語が異なる。(プログラムと同じ)

    → 異なる言語で処理するLLMに「文字数」に関することを 聞いても上手く回答できないことが多い。 (同様の理由で計算も弱い) LLMの中の処理に注目すると以下のような流れ。 文字を分割 トークンID付与 ベクトル化 質問の処理 (質問の実行→回答出力) 【質問文】 あなたは誰。 “あなた”, “は”, “誰。” “0.01”, “0.41””… 分割した単語をトークンと呼び、 それぞれにトークンIDを付与する。 この処理を行うものをトークナイザーと 呼ぶ。 トークンIDをベクトル化(数値化)する。 “1111”, “2222”, “3333” 推論モデルの登場により 多少改善された。
  10. 11 © 2025 NTT TechnoCross Corporation 3-1. LLMの種類について① ~概要~ •

    LLMには大きくインターネットを経由して実行するクラウドタイプと ローカルにモデルを配置して実行する ローカルタイプの2種が存在する。 ➢ クラウドタイプは使った分だけ課金される従量課金タイプが多い。 その場合、金額は入力トークンと出力トークン数で決まる事が一般的。 一方で精度の高いモデルが多い。 ➢ ローカルタイプはローカル環境で使用している為、使いたい放題。 ただし動かす際には自身のマシンリソースが必要となる事が多い。 LLM LLM プログラム ローカルマシン ① クラウドモデル ② ローカルモデル
  11. 12 © 2025 NTT TechnoCross Corporation 3-2. LLMの種類について② ~クラウド型~ クラウドモデルの一例を以下に記載する。

    【クラウドモデル】 モデル名 説明 GPT-4o OpenAI社(米)の開発した、最も有名なモデル。 マルチモーダル(テキスト以外に画像など、複数の異なる媒体の情報を 処理できる事) Claude3.5 Sonnet Anthropic社(米)の開発したモデルで、コーディング系の処理に 強いと言われる。 Gemini2 Google社(米)が開発したモデル。 DeepSeek-R1 DeepSeek社(中)が開発したモデル。 その理由は他のクラウドモデルと遜色がない高精度性がある モデルでありながら、非常に安い料金で使用できる。 ※ ローカル環境で動かす事もできる。 ただし強力なローカル環境が必要。(685B) モデルによって入力できる文字数、出力できる文字数の 大きさが異なる。 (正確には入力トークン、出力トークン数が異なる) 蒸留モデル(ほかのLLMに対して DeepSeek-R1の生成したデータを使って 学習させたモデル)は小さいモデルも存在する。
  12. 13 © 2025 NTT TechnoCross Corporation 3-3. [参考] AWSやAzureのサービスについて 前述のLLMは基本的にはLLM製造元のAPIをたたく事で利用する。

    一方でビジネス観点では「AWS」や「Azure」のサービスを利用する場合が多い。 以下に特によくきくサービスを紹介する。 サービス名 説明 Amazon Bedrock AWS上のLLMを利用する基盤サービスで、 インスタンスをたてずにAPIを使ってClude3.5やLlamaといった メジャーなモデルから、Amazonが作ったLLMである NovaやTitanも呼び出すことができる。 様々なモデルを使える事や、AWS上の様々な仕組み・サービスも併せて 使うことができ事が強み(拡張性やセキュリティの担保)。 Azure OpenAI Service(AOAI) Azure上でGPT-4oなどのOpenAI社のモデルを操作できるサービス。 AWS同様、Azure上のサービスと組み合わせて使用が可能。 ※ どちらのサービスもモデルの学習に利用されない規約となっている。 LLMを使うアプリを上記クラウド上に載せていればクラウド環境から情報を外に 出す事もなく利用ができる。
  13. 14 © 2025 NTT TechnoCross Corporation 3-4. LLMの種類について③ ~ローカル型~ ローカルモデルの一例を以下に記載する。

    【ローカルモデル】 モデル名 説明 Llama Meta社が開発したオープンソースLLMで、3.3版が最新版。(2025/2現在) 公式的には8か国語をサポートしているが、日本語は未サポート。 日本語で質問しても処理はできるが、精度は低め。 ELYZA社がLlamaを日本語に対応させた(チューニングした)モデルを出している。 3.3のパラメータ数は70B。 3.2のパラメータ数は1B, 3B。 Gemma2 Google社のオープンソースLLMで、Geminiの軽量版モデル。 パラメータ数は2B, 9B, 27B。(2BはGoogleから日本語対応版の公開あり) Mistral フランス企業である「Mistral AI」が作ったLLM。 人気があるのは7Bモデルで、これをベースに楽天が日本語対応版LLM rakuten-AIを 作った。 tsuzumi NTT製で日本語に対応したLLMで、非公開・有料。 超軽量版(0.6B)と、軽量版(7B)がある。 同じモデルでもパラメータサイズが異なる事がある。 パラメータサイズについては後述。 パラメータ数が小さいモデルのことをSLMとも呼ぶ。 Azure上に配置するクラウド型も NTTデータ社より提供あり。
  14. 15 © 2025 NTT TechnoCross Corporation 3-5. パラメータ数とSLMについて LLMのパラメータ数は、そのモデルの精度の指標となる。 一般的に以下のような特徴がある。

    ➢ パラメータ数が多い(数が多い)ほど賢い一方で、動作が重い。 ➢ パラメータ数が少ない(数が小さい)ほど複雑な質問には対応できないが、 動作が軽い では小さいモデル(SLM)は常に巨大なモデルに精度的に勝てないのか? というとそうではない。 特定タスクに向けた専用の学習(ファインチューニング)を行うことで、 そのタスク処理においては巨大なモデルと争えるレベルに引き上げる事が できる。 ⇒ 巨大なモデルはクラウド型で従量課金制だったり、 ローカル環境で動かせるモデルでも莫大なリソースが必要な場合がある。 SLMをファインチューニングして、軽いリソース環境で動かす事で LLM導入障壁を下げることができる。 モデルのパラメータ数や学習させるデータ量、計算量を増やす事で、 モデルの精度が向上する、と言われている。(スケーリング則) ただし学習させるデータの枯渇もあり、この法則がLLM発展の 課題の1つとなっている。
  15. 16 © 2025 NTT TechnoCross Corporation 4-1.LLM適用検討と精度向上の進め方について 簡単なLLMに関するプロジェクトの進め方概要を以下に示す。 【ポイント】 LLMの精度向上に関しては継続的な改善が必要となる。

    全体計画 詳細計画 実行 確認 改善 評価まとめ どのようにLLMを使うのか、 何を実現したいのか、モデルの 精度評価方法の整理等を行う。 繰り返す
  16. 17 © 2025 NTT TechnoCross Corporation 4-2. 精度向上の手法について 具体的な精度向上の手法は以下がある。 チャット画面

    or プログラム(スクリプト) LLM (モデル) ①質問文入力 ④ 質問文送信 ⑤ 回答文送信 ⑥ 回答文表示 データ・情報源 ② 必要情報 の取得 ③ 情報提供 Ⅰ. 投げる質問文の工夫 = プロンプトエンジニアリング Ⅱ. LLMを使うアプリの工夫 Ⅲ. 外部からの情報追加取得 = RAG Ⅳ. モデル自体の追加学習 = ファインチューニング ユーザ かかる労力は、 (Ⅰ) < (Ⅱ) = (Ⅲ) < (Ⅳ) といわれる。
  17. 18 © 2025 NTT TechnoCross Corporation 4-3. プロンプトエンジニアリングについて① ~代表的な手法~ プロンプトエンジニアリングはLLMに投げる質問文を工夫することで、

    回答精度を向上させる方法。以下に代表的な手法を記載する。 手法名 説明 例 Zero-shot プロンプト 特に回答例を記載せず、 LLMに自由に回答させる方法。 聞きたい事をそのまま無邪気にきく。 黄色を英語に直してください。 Few-Shot プロンプト 具体例をいくつか出して回答させる。 回答させるフォーマットが決まっている場合や ルールがある場合に有効。 例は複数載せたほうが精度が向上すると 言われている。 与えられたキーワードを英語にしてください。 例1) 青: Blue 例2) 緑: Green では黄色は? Chain-of- Thought (CoT) 質問したい事を、Stepごとに分解させて 実施させる。 これにより、各ステップで出力した文字列が きいて、最終回答の精度がよくなると言われる。 Aの記事を要約してください。 その際にはまず各章の内容を要約してください。 その後に、上記の各章の要約をみて、全体の要約を生成してくださ い。 Chain-of- Verification (CoVe) 質問したい事に対し、一度LLM内で 自問自答させる方法。 Aについて教えてください。 まず上記の回答を用意してください。 その後、上記回答に対する質問をいくつか生成してください。 その質問に対して回答してください。 最後に、上記の質問の回答も含めて、最初の問いに対する最終的な 回答を生成してください。
  18. 19 © 2025 NTT TechnoCross Corporation 4-4. プロンプトエンジニアリングについて② ~その他テクニック~ 前ページに記載した手法以外にも、

    以下のような方法で精度を上げる事もできる。 ① LLMの回答に対し、 「あなたの今の回答は60点です、100点の回答をしてください。」 と指定して再度回答させる。 ② LLMに質問する際に「ハルシネーションを抑えるようにすること」 という文言を入れる。 ③ 英語で質問をする。 (日本語の学習より英語の学習量の方が多い為) ⇒ 精度が上がり、使用するトークン量も下がると言われている。 ④ 質問文をMarkdown形式で記載する。 ⇒ Markdown形式は世界共通語。 【ポイント】 複雑な事を依頼したい場合、 簡単な要素から実現できるようにして積み上げていく。 (いきなりフルで実現すると何が上手くいっていない原因なっているのかわからない)
  19. 20 © 2025 NTT TechnoCross Corporation 4-5. アプリの工夫について① ~具体例~ LLMを使うアプリ側の処理を工夫する事で、LLMの精度を向上させることもできる。

    例えば前述のプロンプト手法である「CoT」や「CoVE」、 「今の回答は60点の為、100点の回答を出してほしい」といったやり方は便利だが、 やり取りが複数回必要なものもあり、毎回ユーザが実施していたら面倒である。 ⇒ ユーザが質問文を入れるフロントアプリにて内部的に上記を実施する。 フロントアプリ LLM (モデル) ①質問文入力 ② 質問処理 ④ 質問処理 ⑤ 回答文表示 処理一段目 処理二段目 ユーザ ③ 回答引き継ぎ
  20. 21 © 2025 NTT TechnoCross Corporation 4-6. アプリの工夫について② ~推論実行時の設定値~ アプリケーションからLLMに質問を投げる(推論を行う)場合には、

    以下のような値を指定可能。 状況やユースケースに応じて指定する。 ※ どの項目が対応できるかはモデルによる。 設定名 説明 temperature 生成されるテキスト全体の一意性(ランダム性)。 0~1の範囲値で、0に近くなるほど一意になる。 top-p 次に登場する確率が高い単語をどの程度候補とするか。 候補の合計確率が p(例:80%)まで達したら、候補選定を切り 上げるイメージ。 値が高いほど候補が増えやすい。 top-k 次に登場する確率が高い単語の候補をいくつ残すか。 上位 k 個残す。値を小さくするほど確定的となる。 max_token モデルが生成するトークンの最大長。 stop sequences モデルがトークンを生成停止する文字列。 Frequency Penalty 生成されたトークンが既存テキストに多く含まれているほど、 該当トークンを出現しにくくする。
  21. 22 © 2025 NTT TechnoCross Corporation 4-7. RAGについて① ~RAGの概要~ RAGとは外部から質問の回答に必要な情報を取得して、

    ユーザの質問文をあわせてLLMに渡す事で、回答精度を上げる手法。 チャット画面 or プログラム(スクリプト) LLM (モデル) ①質問文入力 ④ 質問文送信 ⑤ 回答文送信 ⑥ 回答文表示 データ・情報源 ② 必要情報 の取得 ③ 情報提供 ユーザ RAGにより、社内ドキュメントにしか書かれていない情報や ルールへの適用、モデルが知らない最新情報の理解ができるようになる。 一般的なものとしては 以下3つがよくあげられる。 ① Webページ(ネット検索) ② システム・サービスの提供するAPI ③ データベース
  22. 23 © 2025 NTT TechnoCross Corporation 4-8. RAGについて② ~ローカルDB利用について~ 【ベクトルDB型RAG】

    一般的なRAGで、標準型RAGとも呼ばれる。 ChromaやFaissといったベクトルDBに、ドキュメントに記載された情報の ベクトル情報を入れて、質問文と近い情報を抜き出す。 ⇒ 検索結果と、質問文とあわせてLLMに質問する。 ➢ DBに情報を入れる際のベクトル化を行う際にはEmbedding Model(埋め込みモデル)を使用する。 ➢ 最近は「ベクトル検索」とあわせて「キーワード検索」も行う「ハイブリッド検索」が主流。 ➢ グラフDB型と比較して、直接的な質問はこちらの方が強いと言われる。 【グラフDB型RAG】 GraphRAGとも呼ばれる。 Neo4jといったグラフDBに、ドキュメントに記載された情報の関係性を 入れて、質問文と関連性の高い情報を取得する。 ⇒ 検索結果と、質問文とあわせてLLMに質問する点はベクトル型と同様。 ➢ ベクトルDB型と比較して関係性の取得に特化しており、質問に関する間接的な情報の取得や 網羅的な取得に向いている。 「ローカルDB利用」を利用する場合は特に以下2つが有名。
  23. 24 © 2025 NTT TechnoCross Corporation 4-9. RAGについて③ ~Embedding Modelの種類~

    RAGに使用するEmbedding Modelについて一例を以下で紹介する。 モデル名 説明 text-embedding-3-small/large OpenAI社(米)の開発した、Embedding Model。 Embedding modelを使う場合、特別な理由がない限りこれを選ぶ印象。 ただし利用はクラウド型であり、従量課金制。 multilingual-e5- small/base/large 多言語モデルのEmbedding Modelであり、 ローカルEmbedding Modelとして利用可能。 GLuCoSE-base-ja 日本語特化のEmbedding Modelで。 ローカルEmbedding Modelとして利用可能。 clip-japanese-base 多言語モデル、かつ画像も認識できるマルチモーダルEmbedding Model。 ローカルEmbedding Modelとして利用可能。 【ポイント】 LLMと同様に、Embedding Modelでも最近はマルチモーダルに 対応したモデルが登場してきている。
  24. 25 © 2025 NTT TechnoCross Corporation 4-10. RAGについて④ ~RAGに関連した設定値~ 【補足】

    検索の方法や処理の流れ、各種設定以外に そもそもドキュメントが読み取りやすいか(検索しやすいか)、 といった観点もある。 ⇒ ドキュメントの構造化などが対策となる。 LLMへ質問する時(推論時)と同様に、RAGに関しても細部は様々な設定観点がある。 これによっても質問に対する精度が変化する。 設定名 説明 チャンクサイズ テキストを分割する際のトークン数 オーバーラップ 前後のチャンク間で重複されるトークン数 検索件数 RAGから検索して取得する数
  25. 26 © 2025 NTT TechnoCross Corporation 4-11. RAGについて⑤ ~Advanced RAGとRerank

    Model~ RAGの精度向上に向けた手法には様々なものがあり、新たな手法の検討も活発的である。 ここでは上記手法の1つ、Rerankモデルを使用する手法を説明する。 RAGからベクトルの類似度で取得するデータは確からしさ順に並んでいない。 これを確からしさ順に並び替えるのがRerankモデルと呼ばれるものである。 ⇒ 本モデルを使えば、RAG用DBから取得した情報を単に並び替えるだけでなく、 n件データを取得し、上位y件をLLMに渡す、といった絞り込みにも利用できる。 Rerankモデルには代表的なものに以下がある。 モデル名 説明 Cohere-Reranker 3.5 Cohere社が作ったモデルでクラウド型(従量課金制)。 だが他モデルより精度が高いと言われており、rerankモデルを 利用する際のデファクトとなっている。 Amazon Rerank 1.0 Amazon者が作ったRerankモデルで、Amazon Bedrockから 実行ができる(クラウド型)。 2024年12月頃に公開された、新しめのモデル。 bge-reranker-v2-m3 オープンソースのRerankモデルのデファクトとなっているモデルで、 多言語に対応している。
  26. 27 © 2025 NTT TechnoCross Corporation 4-12. ファインチューニングについて① ~学習の種類~ ファインチューニングはモデルを微調整する、という意味で

    「インストラクションチューニング」と「追加学習」の両方を指している。 ここでは「追加学習」に関して記載する。 追加学習には影響を与える範囲という観点で、大きく以下2種がある。 ① フルファインチューニング(FFT) → 簡単に言うと全パラメータを更新するもの。 多くのデータと強力なGPUリソースが必要となる。 ② PEFT → 一部パラメータを更新するもの。FFTより必要なデータとGPUリソースを 抑えられる。様々な手法があり、LoRAが有名。 また、学習のさせ方という観点でも以下2種がある。 A) 教師なしファインチューニング B) 教師ありファインチューニング(SFT) ⇒ よって大きくは以下の4パターンが存在する。 教師あり 教師なし フルファインチューニング(FFT) パターン1 パターン3 PEFT パターン2 パターン4 正確には、 半教師あり学習 というものも存在する。
  27. 28 © 2025 NTT TechnoCross Corporation 4-13. ファインチューニングについて② ~学習方法の使い分け~ FFTとPEFTにおける使い分けの最も大きい観点は、

    使用するデータ量やリソース量の違い。(前述の通り。) なおFFTの場合、全パラメータに影響を与える為、下手な学習データで学習を行うと、 元々学習していた部分にも影響を与え、結果的にベースモデルよりおかしくなってしまう場合がある。 【補足】 目的に応じた最適な手法の選択以外に、 学習させるデータに大きく依存する。 = AI/ML同様にクレンジングは極めて重要。 教師なし/あり学習の違いは以下。 ⇒ 上記の違いから、自身の持っているマシンやデータの状態、 かけられる労力、学習により何を実現したいかなどで、 どのような手法をとるか決めると良い。 学習方法 ユースケース 教師あり学習 業界の知識などとあわせて、 どのような質問に対してどう回答するかを覚えさせる場合。 教師なし学習 業界の知識や言葉遣い、言語などを覚えさせる場合。
  28. 29 © 2025 NTT TechnoCross Corporation 4-14. 正しく学習できているか確認する為の手法 ファインチューニングを実施した際に正しく学習できているか傾向を確認する必要がある。 =

    正しく学習できているか確認するには「ロス値」を見ると良い。 ロス値は、「モデルの回答(推論結果)」と「期待する出力(正解ラベル)」のズレを数値化したもの。 ※ 教師あり学習の場合 ⇒ ロス値が小さくなればなるほど、正解に近い回答ができるようになっていっている、と見れる。 ⇒ この際に学習に使ったデータでロス値を見てしまうと、過学習したものが良い評価となってしまう場合がある。 よってロス値は学習データ(覚えさせたデータ)以外のデータ(=検証データ)を使って出力させると良い。 ロス値といった情報はログでも確認できるが、以下を使うとグラフィカルに確認ができる。 ツール名 説明 tensorboard ローカルで実行する場合に有用。 Wandb クラウド環境で実行する。ローカルと比較して、他の人への共有に向いている。 tensorboardで表示したロス値(例)。 ロス値以外も見ることができる。 [参考] モデル学習に利用するデータについて 利用する役割毎にわけて、大きく「学習データ」「検証データ」「評価データ」の3つがある。 学習データはモデルに覚えさせるための学習用のデータで、 検証データは学習中に「期待通り学習できているか」確認する為のデータ。 評価データは、学習済モデルの精度評価の為に利用するデータ。 一般的に比率は8:1:1が良いと言われる。
  29. 30 © 2025 NTT TechnoCross Corporation 4-15. 各精度向上手法を実現するツールについて これまで紹介してきた操作や仕組みの作成を自前で実行する為の ツールを以下で紹介する。

    ツール名 説明 実施できる事 Dify ノーコード・ローコードで生成AIを 活用する為のフロントアプリを作成する プラットフォーム。 APIを活用し、クラウド型、ローカル型の どちらもLLMも活用可。 (Ⅰ). プロンプト(推論) (Ⅱ). アプリの工夫 (Ⅲ). RAGの作成 LangChain LLMアプリケーションを作る為のライブラリ。 プログラミングが必要であるためDifyを 比べると敷居が上がるが、その分Difyより 自由度が高い。 (Ⅰ). プロンプト(推論) (Ⅱ). アプリの工夫 (Ⅲ). RAGの作成 Ollama ローカルLLMを動かす為のプラットフォーム。 (Ⅰ). プロンプト(推論) Hugging Face LLMを活用する為のライブラリや、 モデルやデータセットを公開するサービスを 提供している。 ライブラリを使うと簡単に ファインチューニングも行えるようになる。 (Ⅰ). プロンプト(推論) (Ⅳ).ファインチューニング
  30. 31 © 2025 NTT TechnoCross Corporation 4-16. 分散という概念について① ~分散の必要性~ 前述の通り、学習には多くのリソースを使い、1つのGPUや1台のGPUマシンでは

    対処しきれない場合がある。 ⇒ GPUリソースが足りないと「時間がかかる」だけでなく、処理が成功しない。 同様に推論でもリソースが足りない事がある。 オープンモデルであっても100Bを超えるモデルが公開されている。 例) DeepSeek(685B) [参考] 一般的に動作に必要と言われる、GPUメモリ量の最低量目安(単位:GB) 推論:モデルサイズ×2 学習: モデルサイズ×4 ⇒ 複数のGPUやGPUマシンを活用して処理を動かす必要がある。 (分散という概念)
  31. 32 © 2025 NTT TechnoCross Corporation 4-17.分散という概念について② ~分散処理を実現するツール~ 以下で著名な分散処理ツールを紹介する。 分散処理ツール名

    説明 Hugging Face Accelerate 名前の通りHugging Faceが提供するライブラリで、知名度も高く、 インターネット上にも情報が多くある。 初心者向け、かつ小~中規模のモデルを対象とする人向け。 DeepSpeed Microsoft社が開発した、分散学習用ツール。 ZeROと呼ばれる、GPU間でメモリ使用量を効率よく分散する仕組みに対応して おり、大規模なAIモデルの学習向け。 自然言語処理モデルであるtransformerだけでなく、CNNやGNNなど、 広範囲のAIモデルに対応できる。 Megatron-LM NVIDIA社が開発した、自然言語処理モデル(transformerモデル)を 効率よく学習させるためのツールで、大規模なモデル向け。 学習でよく言われる「データ並列」と「モデル並列」を組み合わせた ハイブリッド並列を実現できる。 Megatron-DeepSpeed Megtron-LMとDeepSpeedを統合したツールで、 ZeROとハイブリッド学習を組み合わせて利用可能。 [ポイント] 扱うモデルが一定のサイズとなると、 上記のようなツールの利用も検討範囲に入る。
  32. 33 © 2025 NTT TechnoCross Corporation 4-18. [参考] データ並列とモデル並列について 以下にデータ並列とモデル並列に関する説明(概要)を記載する。

    種類 説明 データ並列 (DP) 【概要】 複数のGPUにデータを分散させて処理を行う。 各GPUにモデルを載せて処理を行う為、1GPUに載らないサイズの モデルで実行はできない。 【ユースケース】 学習時間を短縮する。 モデル並列 (MP) 【概要】 何らかの方法でモデルを分割し、それを各GPUで処理する。 分割手法にはテンソル並列(TP), パイプライン並列(PP), シーケンス並列(SP)などがある。 【ユースケース】 1GPUに収まらないモデルの処理が可能になる。 ※ 上記を組み合わせて実施するハイブリッド並列もある。 例えばデータ並列とテンソル並列、パイプライン並列を組み合わせた3D Parallelismがある。
  33. 34 © 2025 NTT TechnoCross Corporation 4-19. 評価方法について これまで紹介したOSSツールで精度向上を実現したとして、 その成果をどうみるか、という点で評価方法を紹介する。

    【補足】 精度向上を試みる前に、その施策前にどの程度の精度だったのかを 見ておく必要がある事を留意すること。 評価指標やフレームワークも様々なものがあるが、特によく聞くものを以下に紹介する。 名前 説明 実現方法 ROUGE 正解となる文章とLLMが生成した文章の一致度を測る評価指標。 LLMの精度を見る1つの指標。 rouge_scoreライブラリ (Python) RAGAS RAGの評価指標を測る為のフレームワーク。RAGの精度をみる。 ragasライブラリ(Python) なお具体的なユースケースが決まっている場合、 そのユースケースに適用できるかが重要である。(上記ではしっくりこない場合も多い) ⇒ 上記は参考(汎用的な処理に関するもの)とし、 目指すタスクに対して「何が正解か」を 精度向上施策実施前に整理をしておき、その内容でチェックし、 正答率を出すことを推奨する。
  34. 35 © 2025 NTT TechnoCross Corporation 5. 最近の動向について 【ポイント】 基礎的なものでなく、応用的な分野に入り始めている。

    日々の情報収集が極めて重要。机上だけでなく、 これまで紹介したようなOSSを利用して自身で試すことも大切。 LLM分野は日進月歩の世界で、移り変わりが非常に早い。 新たなモデルやサービス、RAGの改善手法、チューニング方法らが登場するなど、 どの分野においても流れが速い。 上記のような状態だが、最近は新たな分野も出てきている。 以下によく耳にする流行り分野を紹介する。 キーワード 説明 LLM(モデル)の マルチモーダル化 (VLM化) マルチモーダル処理とは、テキストと画像、音声など、 1つの形式ではなく、複数の形式の合わさったデータを処理する事。 クラウド型の多くのモデルがすでにマルチモーダルに対応している。 サービスの AIエージェント化 人の最小限の指示で、自律的にタスクを実行できる。 例えばプログラムコードの生成だけでなく、その回答コードの妥当性や リファクタリングなども実施した上で回答する、など。 マルチエージェント 役割をもったLLMやエージェント複数が相互作用する事で、 複雑なタスクの遂行や成果物を生成すること。
  35. 36 © 2025 NTT TechnoCross Corporation 6. おわりに このように「LLM」と一言で言っても非常に広域です。 とはいえ、各分野に様々なOSSがあり、

    マシンを用意すれば非常に試しやすい環境もあります。 ⇒ 興味があったものから調べてみると良いかと思います。 皆様の知見向上に役立てたなら幸いです。