Llama系を1から解説 — オープンLLMの本流
MetaのLlamaはなぜオープンLLMの本流になったのか。Llama 1の逆張り設計からLlama 3.xまでの系譜、llama.cpp・GGUF・Ollamaのエコシステム、そして商用利用前に必ず読むべきライセンスの罠を、前提知識ゼロから解説する。
レシピを公開したレストラン
ChatGPTのような「閉じたLLM」は、高級レストランに似ています。料理(応答)は食べられますが、レシピ(モデルの中身)は門外不出。厨房を借りることも、味を自分好みに変えることもできません。
これに対してオープンLLMは、レシピ——正確には、学習を終えたニューラルネットの数十億個のパラメータ数値である重み(weights)——を配布するモデルです。重みが手に入ると、自分のPCやサーバーで動かす、社内データで追加学習する、中身を解剖して研究する、といったことがすべて可能になります。
そして2023年以降、このオープンLLMの世界の中心にいたのがMetaのLlama(ラマ)系列です。Llamaの系譜を一度押さえると、Mistral・Qwen・Gemmaといった他のオープン系モデルのニュースもすらすら読めるようになります。多くがLlamaの設計を出発点にしているからです。
Llama 1(2023年2月): 「小さく作って、長く学習する」という逆張り
当時の常識は「性能はパラメータ数で決まる」でした。GPT-3は175B(1750億)パラメータで、各社はより大きなモデルを競っていました。ところがDeepMindのChinchilla研究(2022年)が「同じ計算予算なら、モデルを小さくして学習データを増やすほうが得」と示します。
Llama 1はこの知見をさらに一歩進めました。「学習時のコスト効率では多少損をしてでも、推論時に安く動く小さめのモデルを、できるだけ大量のトークンで学習する」という方針です。サイズは7B・13B・33B・65Bの4種類、学習データは最大1.4兆トークン。論文は、13Bモデルが多くのベンチマークで(10倍以上大きい)GPT-3を上回ると報告しました。「大きさがすべてではない」を実証した瞬間です。
ライセンスは研究用途限定の申請制でしたが、公開されて間もなく重みファイルがネット上に流出します。皮肉なことに、この流出が歴史を動かしました。数週間のうちにStanfordのAlpaca(Llama 7Bを指示応答データで追加学習したもの)やVicunaなどの派生モデルが次々に生まれ、「土台(基盤モデル)さえ誰かが作れば、少ない計算資源で味付け(ファインチューニング)できる」という現在のオープンLLM文化の原型ができたのです。
系譜を追う前に: LLMは「次の一語の確率」を出す機械
すべてのLlamaに共通する動作原理を1つだけ押さえておきます。LLMは、文章の続きとして「次のトークン(単語の断片)が何になるか」の確率分布を出力する機械です。そして、その分布の尖り具合を制御するつまみが温度 です。
言い換えると、モデルが各候補トークン に付けた素点 (ロジットと呼びます)を温度 で割ってから、softmax(合計が1になるような正規化)で確率 に変換する、という式です。 を小さくすると1位の候補に確率が集中して出力は固く安定し、大きくすると候補間の差が均されて多様でランダムになります。
このあと登場するローカル実行ツールの --temp オプションは、この をそのまま触っています。
中身をのぞく: 堅実な改良Transformer
Llamaのアーキテクチャは、Attention機構を何層も積み重ねたデコーダ専用Transformerです。発明的な新機構はほとんどなく、当時すでに効果が確認されていた改良を堅実に全部載せしたのが特徴で、代表は3つあります。
1つ目はRMSNorm(事前正規化)。各層に入る前のベクトルを、その「典型的な大きさ」で割って揃えます。
コメント
コメントにはログインが必要です