シナプス技術者ブログ

シナプスの技術者公式ブログ。インターネットで、鹿児島の毎日を笑顔にします。

LLMについて学んだこと

シナプスの技術部システム開発課の小園です。

今回は、生成AI、特に大規模言語モデル(LLM)の基本について、私が学んだことをまとめました。

LLM(大規模言語モデル)とは?

  • LLMは、Large Language Models(大規模言語モデル)の略称であり、自然言語処理の分野で使用される高度なAI技術です。
  • LLMは、AI(人工知能)→ML(機械学習)→DL(深層学習)→生成AI(LLMを含む)という階層的な関係に位置しています。
  • LLMは、2017年にGoogleが発表したTransformerという深層学習モデルを基にしています。このモデルは、言語処理の効率を大幅に向上させました。
  • LLMには、以下のような代表的なモデルがあります。
    • GPT(OpenAI)
    • Gemini(Google)
    • LLaMA(Meta)
    • Claude(Anthropic)
  • LLMは生成AIの一形態であり、生成AIには他に以下のようなモデルも存在します。
    • SLM(Small Language Model、小規模言語モデル)
      • Phi-3(Microsoft): より軽量で特定の用途に最適化されたモデル。
    • Diffusion Models(拡散モデル)
      • DALL-E(OpenAI): 画像生成に特化したモデル。
      • Stable Diffusion(CompVisグループ、ミュンヘン大学): 高品質な画像生成を行うモデル。

LLMを学ぶ意義

LLM(大規模言語モデル)は、自然言語処理の分野で重要な役割を果たしています。生成AIを業務に生かすためには、これらの技術を理解し、適切に活用することが求められます。この記事では、LLMの基礎知識や、RAG(Retrieval-Augmented Generation)、倫理とバイアスといった重要な技術について説明します。

LLMの研究分野

  • 基礎理解
    • LLMの基本概念やアーキテクチャ、そしてモデルがどのように機能するかを学びます。例えば、Transformerアーキテクチャの仕組みは、自己注意メカニズムに基づいています。
  • モデルの構築
    • 開発に必要なデータ収集や前処理技術、モデルの訓練方法について学びます。具体的には、テキストデータのクリーニングやトークナイゼーションが含まれます。
  • モデルのチューニング
    • モデルのパラメータやハイパーパラメータの調整方法、適切な評価基準について学びます。例えば、交差検証を使用してモデルの性能を評価します。
  • ファインチューニング
    • 特定のタスクに対して既存のLLMを適応させる方法を学びます。例えば、特定の業界向けに調整されたチャットボットの開発などが考えられます。
  • プロンプトエンジニアリング
    • プロンプトを効果的に設計する技術を学びます。良いプロンプトは、モデルからの応答の質を大きく向上させます。
  • RAG(Retrieval-Augmented Generation)
    • 外部知識を活用して生成するテキストの質を向上させる方法を学びます。この技術は、情報検索と生成を組み合わせることで、より正確な出力を実現します。具体的には、質問応答システムにおいて、関連情報をリアルタイムで取得し、回答に組み込むことができます。
  • 倫理とバイアス
    • LLMに関連する倫理的な問題や、モデルが持つ可能性のあるバイアスについて学びます。たとえば、特定のデータに偏った学習を行った場合の影響を考察します。
  • アプリケーション
    • LLMを活用した具体的なアプリケーション(例:チャットボット、自動翻訳、文章生成など)について学びます。これにより、実際のビジネスシナリオでの活用方法を理解します。

LLMと従来のAIの違い

  • スケール
    • LLM(大規模言語モデル)は、インターネット上の膨大なテキストデータを用いて訓練されます。具体的には、数十億から数千億のパラメータを持つモデルが存在します。
  • 文脈理解
    • LLMはTransformerアーキテクチャに基づいており、自己注意メカニズムを利用して文脈を理解します。これにより、単語間の関係を効果的に捉え、文脈に応じた応答が可能になります。例えば、GPT-3などがこの技術を活用しています。
  • 訓練方法
    • LLMはまず大量のデータで事前学習を行います。この段階では、特定のタスクに特化したファインチューニングは不要です。
  • 多用途性
    • LLMは質問応答、翻訳、要約、対話生成など、多岐にわたる自然言語処理タスクに対応できる能力を持っています。これにより、さまざまなアプリケーションで利用されています。
  • 自然な言語生成
    • LLMは自然な言語を生成する能力が高く、対話システムやアプリケーションでのユーザー体験を向上させます。これにより、ユーザーとのインタラクションがよりスムーズになります。

パラメータの役割

  • パラメータは、モデルが学習する際に調整される数値のことです。これらは、モデルがデータを理解したり、予測をしたりするための「ルール」を決定します。
  • パラメータが多いほど、モデルはより複雑なパターンを学ぶことができます。
  • 現在の大規模言語モデルの例としては、OpenAIのGPT-4(1兆~1.8兆パラメータ)、GoogleのGemini Ultra(1.56兆パラメータ)、MetaのLlama 3.1(4050億パラメータ)があります。

LLMの動作原理

  • LLMは文章を生成します。例えば、「日本で一番高い山は、」の続きがどのように決まるかを見てみましょう。
    • 文脈の理解
      • モデルは「日本で一番高い山は、」という文を受け取ると、その文脈を理解します。この場合、「日本」と「一番高い山」というキーワードから、特定の情報を求めていることがわかります。
    • 単語の選択
      • モデルは、生成する単語を選ぶ際に、単に最も可能性の高い単語を選ぶのではなく、確率的に複数の候補から選択します。これにより、同じ質問に対して異なる応答を生成し、会話をより自然で面白くすることを目指します。
      • ここで誤った情報を生成する現象を「ハルシネーション」と呼びます。ハルシネーションが発生する理由としては、不完全なデータや文脈の誤解、確率的生成が挙げられます。
    • 文章の生成
      • 日本で一番高い山は、富士山です。これは正しい情報ですが、モデルによっては誤った情報を生成することがあります。
  • ハルシネーションは生成AIが持つ特徴の一つであり、完全に排除することは難しいです。
    • 創造性と正確性のトレードオフが存在します。
    • 実行時のパラメータによる制御(Temperature、Top-p Sampling)も重要です。
      • Temperature(温度): モデルが生成する応答の多様性を制御するパラメータです。
      • Top-p Sampling: 生成する単語の確率の合計がpになるように単語を選択します。

LLMと従来のプログラミングの類似性と相違性

LLM(大規模言語モデル)とは、膨大なデータを基に自然言語を理解し生成するモデルのことです。一方、従来のプログラミングは、明確なロジックに基づいてコンピュータに指示を与える手法です。
両者はインプットからアウトプットへの流れという点で共通点がありますが、インプットの形式や処理の方法、アウトプットの形式においては大きな違いがあります。

類似性

  1. インプットとアウトプットの構造
    • 両者ともに、インプットを受け取り、それに基づいて処理を行い、アウトプットを生成する基本的な構造を持っています。
    • どちらもユーザーの要求に基づいて結果を返す点で共通しています。
  2. 情報処理能力
    • LLMも従来のプログラミングも、与えられたデータに基づいて情報を処理し、利用者に有用な結果を提供することを目的としています。

相違性

  1. インプットの形式
    • LLM: 自然言語のテキスト(例: 質問や指示)をインプットとして受け取ります。これにより、ユーザーは直感的に操作できます。
    • 従来のプログラミング: 数値データや文字列など、より具体的なデータ形式が必要です。プログラミング言語の文法に従った形式での入力が要求されます。
  2. 処理の方法
    • LLM: モデルが自動的に文脈を理解し、関連情報を生成します。ユーザーは処理の詳細を考慮する必要がありません。
    • 従来のプログラミング: ユーザーが自らアルゴリズムやロジックを定義し、データを処理します。これにより、より柔軟で詳細な制御が可能です。
  3. アウトプットの形式
    • LLM: 自然言語での回答や文章を生成し、ユーザーに返します。人間にとって理解しやすい形式です。
    • 従来のプログラミング: 数値やテキスト形式での処理結果を出力しますが、必ずしも自然言語ではありません。出力結果は、プログラムの目的に応じて異なります。

LLMのあいまいさとその影響

  • LLM(大規模言語モデル)は、入力が自然言語であるため、要件定義が明確であれば効果的に機能します。
    • そのためには、ドメイン知識を適切に言語化するスキルが求められます。
  • LLMはアウトプットがあいまいであり、あいまいさを含む業務に適しています。
    • 具体例としては、保険の加入審査、銀行の与信判断、野菜の選別、メール文面の作成などがあります。
    • 現在の技術水準ではあいまいさが生じるものの、今後の技術革新に期待が寄せられています。
  • 従来のプログラミングは、入力と出力が固定されているため、定型的な業務に向いています。
  • LLMと従来のプログラミングは、それぞれ得意とする分野が異なり、相互に補完し合う関係にあります。
  • LLMは、誤りが許容される業務を代替する可能性があります。
  • 特にホワイトカラーの業務において、LLMをどのように活用するかが重要です。
    • ホワイトカラー自身がこのプロセスを推進できることも重要なポイントです。
    • さらに、社内データを生成AIが活用できるように整備することが鍵となります。
  • データの整備は非常に重要であり、データ基盤の構築が求められます。

LLMの今後の展開

  • 今までは、クラウドでの展開が主流であったが、ローカルでの展開も進んでいます。

クラウド環境におけるLLMの利用

  • 利点

    • スケーラビリティ: クラウド環境では、必要に応じてリソースを簡単に拡張できるため、大量のデータを処理するのに適しています。
    • メンテナンスの簡素化: プロバイダーがインフラを管理するため、ユーザーはモデルのトレーニングや更新に集中できます。
    • コスト効率: 初期投資が少なく、必要なときにリソースを使用するため、コストを抑えることができます。
  • 課題

    • データプライバシー: 機密データをクラウドにアップロードすることに対する懸念があります。
    • レイテンシー: インターネット接続に依存するため、リアルタイム処理が必要な場合には遅延が発生する可能性があります。
  • 具体的なモデル

    • 大規模化モデル: GPT-4o、Claude 3.5、Gemini 1.5 Pro
    • 速度、コストに優れたモデル: GPT-4o mini、Gemini 1.5 Flash

ローカル環境におけるLLMの利用

  • 利点

    • データプライバシーの確保: 機密データをローカルで処理できるため、プライバシーのリスクが低くなります。
    • 低レイテンシー: ネットワーク遅延がないため、リアルタイムでの応答が可能です。
    • カスタマイズ性: 特定のニーズに合わせてモデルを調整しやすいです。
  • 課題

    • リソースの制約: 高性能なハードウェアが必要であり、初期投資が大きくなる可能性があります。
    • メンテナンスの負担: 自分でインフラを管理する必要があるため、運用負担が増えます。
  • 具体的なモデル

    • Apple Intelligence(3B)
    • Microsoft Copilot+PC(Phi Silica 3.3B)
    • Android/PC向けChrome Gemini Nano

ローカルで高性能のモデルは動かないの?

以下の表は、高性能モデル(Llama 3.1)で推論を行う際のメモリ要件を示しています。

Model Size FP16 FP8 INT4
8B 16 GB 8 GB 4 GB
70B 140 GB 70 GB 35 GB
405B 810 GB 405 GB 203 GB

ここで、1B(ビリオン)は10億を意味し、8Bは80億、70Bは700億、405Bは4050億のパラメータ数を持つことを示しています。
Llama 3.1の405Bモデルは、GPT-4oよりも優れた性能を持つとされています。 このモデルはFP16(半精度浮動小数点数)で810GBのメモリを必要とします。Nvidia H100ノード(H100が8台で1ノード)では640GBのメモリがあるため、FP16での動作は難しいですが、FP8であれば精度は落ちますが動作可能です。
また、Nvidia RTX 4070(メモリ12GB)では8B-FP8が動作する可能性があります。さらに、Nvidia RTX 4080(メモリ16GB)であれば8B-FP16が動作すると思われます。

LLMの問題点

生成AI(LLM)には、さまざまな問題点があります。以下に主なリスクを挙げます。

従来型AIから引き継がれるリスク

  • バイアスのある結果及び差別的な内容の出力: 学習データに存在するバイアスが、結果に影響を与えることがあります。
  • フィルターバブル及びエコーチェンバー現象: 特定の情報だけが強調され、多様な視点が排除されることがあります。
  • 多様性の喪失: 一部の意見や文化が無視されることによって、多様性が減少する恐れがあります。
  • 不適切な個人情報の取扱い: ユーザーの個人情報が誤って使用される可能性があります。
  • 生命、身体、財産の侵害: AIの誤った判断が、深刻な結果を招くことがあります。
  • データ汚染攻撃: 悪意のあるデータがAIに取り込まれることによって、出力が歪むことがあります。
  • ブラックボックス化: AIの判断プロセスが不透明であるため、説明を求められることがあります。
  • エネルギー使用量及び環境の負荷: 大規模な計算が必要なため、環境への影響が懸念されます。

生成AIで特に顕在化したリスク

  • 悪用: 生成AIが悪用されることで、社会に悪影響を及ぼす可能性があります。
  • 機密情報の流出: 機密情報が不適切に処理され、流出する危険があります。
  • ハルシネーション: AIが事実と異なる情報を生成する現象です。
  • 偽情報、誤情報を鵜吞みにすること: 信頼性の低い情報をそのまま受け入れてしまう危険があります。
  • 著作権との関係: 生成されたコンテンツが著作権を侵害する可能性があります。
  • 資格等との関係: AIの判断が資格や認証に影響を及ぼすことがあります。
  • バイアスの再生成: 既存のバイアスが再び生成されるリスクがあります。

利用者としての対策

生成AIを利用する側として、以下の対策を講じることが重要です。

  1. 情報の批判的な評価: 生成された情報をそのまま受け入れるのではなく、信頼性や正確性を確認することが大切です。特に、重要な決定に関わる情報については、他の信頼できるソースと照らし合わせることを心がけましょう。
  2. プライバシーの保護: 個人情報や機密情報を生成AIに入力する際には、そのリスクを理解し、必要最低限の情報のみを提供するようにしましょう。
  3. 倫理的な使用: 生成AIを使用する際には、その利用が社会や他者に与える影響を考慮し、倫理的に行動することが求められます。
  4. フィードバックの提供: AIの出力に対してフィードバックを行うことで、開発者が問題点を把握し、改善に役立てることができます。積極的に意見を伝えることが重要です。
  5. 教育と研修の受講: 生成AIの使用に関する教育や研修を受けることで、リスクを理解し、効果的に活用するスキルを身につけることができます。

LLMと仕事の未来

  • 米国の労働人口の約80%が、仕事に関連するタスクの少なくとも10%がAIによって影響を受けると推測されており、5人に1人は日常タスクの半分以上がAIの影響を受けるとされています。
  • AIは年々進化しており、人間が担っているタスクがAIに置き換わる可能性が高まっています。
  • AIは初心者の生産性を向上させるだけでなく、難しいタスクでは熟練者の能力も向上させることが期待されています。
  • AIを活用できない組織や個人は、競争力を失うリスクが高まるでしょう。
  • AIは進化を続けており、将来的には人間よりも優れた能力を持つ存在になる可能性があります。
  • 「他の誰かがあなたの仕事の記録を見て、どのようにあなたの仕事を行えるかを理解できるか?」という質問に対し、イエスと答える場合、その仕事はAIに取って代わられるリスクが高いです。
  • AIと協業するスキルを身につけることが求められています。

LLM導入のステップ

企業においてLLM導入には以下のようなステップを踏むことが多いです。

  1. ステップ1 : 社内情報を生成AIが利用できる環境整備

    • 社員の日常業務での利用を促進するために、セキュリティが十分に確保された環境を整える必要があります。自社の秘密情報をプロンプトに書き込むと、社外に流出するリスクがあるため、注意が必要です。まずは、LLMができることとできないことを理解し、IT部門だけでなく各現場での活用を目指します。その際、LLM特有の知見をサポートする体制も整えましょう。
  2. ステップ2 : 生成AIで業務を効率的にアシスト

    • 生成AIを活用して、社内文書の検索や特定様式の社内文書の下書き作成、メールやスケジュールの要約といったタスクを効率化します。これにより、業務の生産性が向上します。
  3. ステップ3 : 顧客情報を学習させて自社サービス高度化

    • 顧客情報を生成AIに学習させて、自社サービスを高度化します。AIの時代においては、あらゆるものがAPIとして機能し、AIが行う「思考」を実現するための重要な手段となります。

LLMとRAG(Retrieval-Augmented Generation)

RAGの概要

  • RAG(リトリーバル・オーグメンテッド・ジェネレーション)の略です。
    • Retrieval-Augmented(リトリーバル・オーグメンテッド): 外部の情報を利用することで、より豊かで具体的な情報を取得します。
    • Generation(ジェネレーション): 生成や作成を指します。
  • LLM(大規模言語モデル)において、情報検索と生成を組み合わせることで、より正確で豊かなコンテンツを提供します。例えば、最新のニュースや専門的なデータを取り入れることが可能です。
  • LLMが持っている知識に加えて、ナレッジベースに持つ情報を活用して回答を行います。このため、LLMに提供するナレッジが非常に重要です。

RAGのメリット

  • 独自(会社固有)の内容で回答できるため、企業のニーズに合わせた情報を提供できます。
  • ハルシネーション(虚偽情報の生成)を抑制でき、正確性が向上します。
  • 検索によって最新の情報や詳細なデータを取り入れることで、生成されるコンテンツの正確性が向上します。
  • 様々な情報源からのデータを組み合わせることで、より多様な視点を提供できます。
  • リアルタイム性があり、時事問題や急速に変化するトピックへの適応が容易です。

RAGのデメリット

  • 回答をするための情報を提供する必要があり、データ整備に手間がかかります。この点は、特に企業が苦労している部分です。
  • データが整備されていない場合、LLMが正確な情報を生成できないリスクがあります。例えば、古いデータや不正確な情報が含まれていると、誤った回答が生成される可能性があります。

データマネジメント

  • RAG(Retrieval-Augmented Generation) は、LLM(大規模言語モデル)の性能を引き出すための重要な技術です。RAGを最大限に活用するには、企業のデータ戦略と統合することが不可欠です。具体的には、効果的なデータマネジメントを行うことで、LLMに提供するデータの質を高めることができます。
  • ビジネス戦略に活用できるデータの確保: 企業のビジョンや戦略に基づいて、データを組織全体で活用しやすい形に整理・管理します。以下のような特徴を持つデータが理想です。

    • 発見しやすく、理解しやすいデータ: データは論理的に整理されており、必要な情報をすぐに見つけ出せる状態にします。例えば、タグ付けやメタデータの付与を通じてデータの分類を行います。
    • アクセスしやすく、統合されたデータ: 異なる部門やシステムからのデータを統合し、容易にアクセスできる環境を整えます。これにより、データの利用率が向上します。
    • クレンジングされたデータ: データの品質を保つために、冗長性や誤りを排除し、整合性を維持します。たとえば、重複したエントリを削除し、誤ったデータを修正することが挙げられます。

具体例と実践方法

  • データの整理: 企業が大量のデータを効果的に利用するためには、データの分類と整理が不可欠です。たとえば、LLMを活用する場合、未整理のデータではその性能を十分に引き出すことができません。

継続的改善と教育の重要性

  • 最新技術の導入: データマネジメントを行う企業は、定期的に最新の技術やトレンドを導入し、データ活用の効率化を図ります。例えば、RAG技術を用いた新しいLLMの導入や、BIツールの自動化機能を利用することが考えられます。

まとめ

LLMは、私たちの言葉を理解し、自然な文章を生成する素晴らしいツールです。
使用する際には、いくつかのポイントに注意を払うことで、さらに効果的に活用できると思います。

まず、LLMが提供する情報の正確性を意識することが重要です。時には「ハルシネーション」と呼ばれる現象が起こることもありますが、それを学びの機会として捉え、自分で情報を確認することで、より深い理解を得ることができます。
また、個人情報や重要なデータを入力する際には、プライバシーに配慮しながら利用することが大切です。

最後に、LLMとの付き合い方は単なる利用にとどまらず、常に学び続け、改善を重ねることが大切です。これにより、変化の激しいビジネス環境の中でも、LLMを効果的に活用し、より良い成果を生み出せると思います。

参考資料