エンジニアのためのAIの基本 Part2
はじめに
はじめまして、株式会社バニッシュ・スタンダードでエンジニアをやっているkzzzmです。
ChatGPTの新バージョンだったり、ClaudeCodeやGitHubCopilotCodingAgentなどとAIまわりの進化は目まぐるしいですね。
なので今回は「エンジニアのためのAIの基本」というテーマで、Part2の記事を書いていこうと思います。
僕もエンジニアでありながら、正直AIの技術はまだまだ勉強中です。この記事は自分の理解を深めるためにも書いています。(誤りなどあれば、ぜひコメントで指摘いただけると助かります!)
今回は 「ChatGPTの中身ってどうなってるの?」 をテーマに進めていきます!
ChatGPTの正体とは?
ChatGPTは、OpenAIが開発した 大規模言語モデル(LLM: Large Language Model) を使った会話AIです。
- GPT-3(2020年)
- GPT-3.5(ChatGPT無料版)
- GPT-4(有料版で話題に)
- GPT-4o(omni、音声・画像も処理できる次世代モデル)
と進化しており、いまのChatGPTは「文章を理解・生成する」だけでなく、マルチモーダル(音声、画像、コードなどに対応するAIに進化しています。
LLM(大規模言語モデル)とは?
簡単に言えば、「大量の文章を読み込んで、次に来る単語を予測するAI」です。
「自然言語処理のGoogle翻訳みたいなやつが、めちゃくちゃ高性能になったもの」と捉えてもらうとわかりやすいかもしれません。
どれくらい大規模か?
- 学習データ量:数兆語以上のインターネット文章(Wikipedia、ブログ、技術記事、GitHubのコードなど)
- パラメータ数:GPT-3で1750億個、GPT-4は非公開ですが1兆超とも噂されています
まさに「インターネットの集合知を丸ごと学んだAI」と言えるほど巨大です。
ChatGPTの学習ってどうやってるの?
① 事前学習(Pretraining)
まず、モデルは人間が書いた膨大な文章を読み込んで、「文章っぽい文」を再現できるように学習します。
- 手法:自己回帰型トランスフォーマー(Transformer)
- 目的:与えられた文脈から次の単語を予測する(例:「私は今日、会社に」→「行きました」と予測)
この段階では「雑学王みたいなAI」が完成します。文法も知識も持っていますが、指示通りに動けるわけではありません。
② 微調整(Fine-tuning)
次に、特定の目的(会話・要約・翻訳など)に応じて、人間が作ったデータで再学習します。
- 人手で「良い返答」「悪い返答」をタグ付け
- モデルがより“実用的”な形で出力できるように調整
これにより、「人間の意図をくみ取れるAI」になります。
③ RLHF(人間のフィードバックを使った強化学習)
RLHF(Reinforcement Learning from Human Feedback)は、ChatGPTの“会話っぽさ”の秘密とも言える技術です。
- 人間が複数のAIの返答を比較し、良い方に報酬を与える
- それを元にAIの返答をチューニング
これによって、「気が利いて」「共感力が高く」「毒舌にもなれる」AIが出来上がります。
Transformerってなに?
ChatGPTのベースであるTransformerは、Googleが2017年に発表した自然言語処理の革新的なアーキテクチャです。
自己注意機構(Self-Attention)
Transformerの特徴は、単語同士の関係を“重み付き”で捉えることにあります。
-
例:「彼はAppleで働いている」の文では、「彼」と「働いている」が強く結びついている
-
モデルはその関係性をスコアで評価し、文全体の意味を保持する
-
自然言語を「トークン」と呼ばれる単位に変換
(例:「こんにちは」→1トークン、「ChatGPT」→2〜3トークン) -
多くのLLMは BPE(Byte Pair Encoding) をベースとした独自のトークナイザーを採用
この仕組みにより、長文でも意味を見失わずに理解できるようになりました。
デコーダベース
GPT系は「エンコーダ+デコーダ」構造ではなく、デコーダのみの構成で事前学習されています。
これは、与えられたトークン列(文脈)に基づいて、次に続く単語を自己回帰的に予測するという目的に特化した構造です。
これにより、過去の文脈に対して未来の単語を効率的に予測できるようになっています。
実際にChatGPTはどうやって返答しているのか?
-
入力文をトークンに分割
(例:「こんにちは」は1トークン、「ChatGPT」は2〜3トークンになることも) -
トークン列を自己注意機構(Self-Attention)で処理
各トークンが持つ文脈情報を踏まえ、モデル内部で“次に来る単語”の予測に必要な意味表現を計算します。 -
次に来るトークンを予測
数万語の候補の中から、最も高い確率の単語を選びます。 -
確率的なランダム性も加味して返答を生成
「temperature」や「top-p」といった生成パラメータにより、毎回少しずつ異なる自然な表現を生み出します。
こうして、ChatGPTは与えられた文脈に沿って、意味の通った、かつ多様な返答をリアルタイムに返してくれているのです。
LLMを業務でどう活かせるのか?
我々エンジニアにとって、LLMの内部実装をすべて理解する必要はありません。重要なのは「どう活かすか」です。
活用例
- コード補完(GitHub Copilot, CodeWhisperer)
- 自然言語でのSQL生成(DB-GPT, Text-to-SQL系)
- テストケース生成(RSpecやJestの自動出力)
- 社内ドキュメントの要約・分類
- ユーザー問い合わせへの一次対応
- デバッグ補助(エラーログの要約と解決策提示)
開発Tips
最近話題のRAG(Retrieval-Augmented Generation)は以下の構成です:
- OpenAI APIを活用すればcurlだけでも動く
- LangChainやLlamaIndexなど、LLMを組み込むライブラリも豊富
- 自社データに特化したRAG(検索拡張生成)型の活用が注目されている
これにより、「ChatGPTに自社専用の知識を持たせる」ような応用が可能になります。
開発支援ツール:
- LangChain(Python/TypeScript)
- LlamaIndex(旧名:GPT Index)
- OpenAI API(curl でも Node.js でも簡単に叩けます)
まとめ
ChatGPTは「中身が見えない魔法」ではなく、「原理が理解できれば業務で武器になるテクノロジー」です。
- ChatGPTのベースはTransformer
- 学習はPretraining + Fine-tuning + RLHF
- 活用はAPIやRAGを通じて現場業務に組み込む
最後に
弊社「株式会社バニッシュ・スタンダード」では、現在エンジニアおよびデザイナーを積極的に募集しています。
技術好き・学び好きなメンバーが集まる、フラットでオープンな環境です。
AIやLLM活用に興味がある方、ぜひご応募お待ちしています!
Discussion