🎃
LLMとは
記事概要
LLMについて、まとめる。
LLMとは
Large Language Modelsの略であり、日本語だと「大規模言語モデル」
プログラム言語ではなく、人間が利用している自然言語(日本語等)を理解・解釈・生成することができる
仕組み
ニュートラルネットワーク(トランスフォーマー)を利用し、意味や文脈を理解した回答を自然言語で出力する
- トークン化
テキストデータにおける最小単位の要素であるトークンに分割する処理 - ベクトル化
トークン化されたデータを、数値のベクトルに変換する処理- コンピュータはテキストデータを理解できないので、数値データに変換する必要がある
- 単語間の関係性を数値の距離で表現しており、関連用語や意味が近い用語はベクトルの数値が近い
- ベクトルデータの特徴を抽出
入力されたベクトルデータを段階的に変換し、文脈や関係性を考慮した特徴を抽出する
※LLMにおける、重要な処理 - 文脈(コンテキスト)の理解
文章全体の意味を理解する機能
※人間に近い理解力と応答能力を発揮するために必要不可欠な機能 - 自然なテキストデータへの変換(デコード)
出力ベクトルを修正し、人間が理解できる自然言語に変換する作業- 文法チェックや意味の整合性などを確認し、人間が書いたような文章を生成する
- 文体の一貫性を保ち、文章全体の意味が通じるように回答を生成する
注意点
- 誤回答の生成(ハルシネーション)
- 関連性のある単語から回答を生成する性質が原因
- 出力された結果が正しいかどうかは、人間が確認する必要がある
- 情報の偏り
- 学習データの情報に偏りがある場合、出力される回答に情報の偏りが生じる
- 機密情報の漏洩
- 入力した情報を学習する性質があるため、機密情報や秘匿性の高い情報は入力しない
- 入力した機密情報が、別の場所で出力されるリスクがある
補足
トランスフォーマー(Transformer)
ニュートラルネットワークのひとつであり、LLMで使用されている
構成要素 | 役割 |
---|---|
エンコーダ(Encoder) | 入力テキストを理解し、情報を圧縮して特徴を抽出する |
デコーダ(Decoder) | エンコーダの情報をもとに、新しいテキストを生成する |
- 自己注意機構(Self-Attention)
- 文章の中でどの単語が重要かを判断し、関連性の高い単語同士を結びつける仕組み
- フィードフォーワード層(Feed-Forward Network)
- 各トークンに対して、膨大な知識情報を蓄積する
- 交差注意機構
- 自己注意機構とほぼ同じ仕組みであり、エンコーダとデコーダのベクトルが入力される
SLM
Small Language Modelsの略であり、日本語だと「小規模言語モデル」
項目 | SLM | LLM |
---|---|---|
パラメータ数 | 数億~数十億 | 数千億~数兆 |
モデルサイズ | 小さい | 大きい |
学習データ量 | 少ない | 膨大 |
計算リソース | 少ない | 多い |
汎用性 | 低い | 高い |
特定タスク適性 | 高い | - |
運用コスト | 低い | 高い |
環境負荷 | 低い | 高い |
モデルサイズが小さいメリット
- 運用コストや推論コストを大幅に削減可能
- 推論速度の向上により、エッジデバイスでのリアルタイム処理が可能
- オフラインでの利用が可能
参考記事
Discussion