大規模言語モデルの紹介
はじめに
いったい大規模言語モデルとは何でしょうか?この質問に答えるために、私たちが知っているものから始めましょう。電話でテキストメッセージを作成している的情景を想像してください。いくつかの言葉を入力すると、phone は次の言葉を候補として提案します—and sometimes it's accurate enough that you just tap the suggestion to keep typing. その予測テキスト機能は、非常にシンプルな言語モデルの一例です。大規模言語モデル(LLM)は同じ基本的なアイデアで動作しますが、規模は比べ物にならないほど大きいです。

LLM は、本、記事、Web サイト、コードなど、信じられないほどの量のテキストで訓練されたニューラルネットワークです。この訓練プロセスの中で、モデルは数十億の文を読み、単語とフレーズの間の統計的関係を学びます。次のようなパターンを見つけます:Certain words appear的时候、続くのはどんな言葉か;文がどのように構造化されているか;文脈が意味をどのように変えるか;そして異なる情報がどのように相互に関連しているか。訓練が完了すると、モデルは 提供されたプロンプトに応じて、一貫性があり、文脈に適切なテキストを生成できます。
「大規模」言語モデルの「大規模」は、同時に2つのことを意味します。最初は訓練データの規模—最新の LLM は数千億から数兆のトークン(1トークンは約1語または語の一部)を含むデータセットで訓練されています。2番目はモデル自体—これらのモデルは数十億のパラメータを含み、それらはモデルが学んだすべてをエンコードする内部数値です。たとえば、70億パラメータのモデルは、言語に関する知識を表す70億の調整可能な数値を持っています。

これが Jetson 开发者にとってなぜ重要なのか?直到最近まで、この規模のモデルを実行するには、複数の高端 GPU を持つ高価なクラウドサーバーが必要でした。过去2年間の大きな突破口は、量子化(モデルの数値精度を压缩する技術)により、NVIDIA Jetson Orin Nano や Orin NX などのエッジデバイスで強力な LLM を実行できるようになりました。这意味着您可以构建完全离线的 AI 应用程序,保持数据私密,无需依赖互联网连接。
LLM の仕組み
LLM が何であるかがわかった今、自然な疑問は:它是究竟如何生成文本的呢?答えは1つの core operation—序列中的次のトークンを予測する」に絞られます。
トークン:ビルディングブロック
モデルがテキストを生成する仕組みを議論する前に、テキストを「トークン」として処理する意味を明確にする必要があります。LLM は人間がするように生のテキストを読みません。代わりに、トークナイザーは入力をトークンと呼ばれるより小さなユニットに分割します。トークンは「computer」のような完全な単語、「the」のような一般的な単語フラグメント、または未知の言語の単一文字でさえあります。たとえば:
"The reComputer runs Linux"
→ ["The", " re", "Computer", " runs", " Linux"] (5 トークン)トークナイザーの語彙は通常、3万から10万のトークンを含みます。モデルが見るすべてのテキストは、処理が始まる前にこれらのトークンのシーケンスに変換されます。
訓練プロセス
LLM の訓練には3つの主要段階があり、それぞれが前の段階に基づいています:

段階 1 — 生テキストでの事前訓練。 モデルは信じられないほどの量のテキストを feed されます(一般的なソースには Common Crawl、Wikipedia、GitHub リポジトリ、出版された書籍が含まれます)。この段階で、モデルのタスクは欺瞞的に単純です:トークンのシーケンスが与えられたら、次のトークンを予測します。例如,当模型看到 "The Eiffel Tower is located in" 时,它了解到 "Paris" 是最可能的下一个 token。通过在数十亿个例子上重复这个练习,模型逐渐构建了语法、事实、推理模式甚至编程逻辑的内部表示。
段階 2 — 教師あり微調整(SFT)。 事前訓練後、モデルは幅広い知識を持っていますが、有用なアシスタントとして行動する方法は知っていません。この段階で、人間の注釈者が高品質なプロンプト-応答ペアの例を作成します。モデルはこれらの例で訓練され、有用な応答のフォーマットとスタイルを学習します。
段階 3 — アライメント(RLHF またはそれ類似)。 最終段階で、人間の評価者が複数のモデル応答を最良から最悪までランク付けします。このフィードバックは奖励モデルを训练し、その奖励模型が次に LLM をより有帮助で、無害で、正直な応答を生成하도록ガイドします。这就是为什么现代聊天模型产生比仅靠预训练阶段更连贯、更有用的答案的原因。
推論:一度に1トークンずつテキストを生成
訓練が完了すると、モデルは推論と呼ばれるプロセスでテキストを生成します。以下是你输入提示时发生的确切情况:
プロンプト:"The capital of France is"
トークナイザーはこれをトークン ID に変換します。モデルはこれらのトークンを処理し、その語彙内のすべてのトークンに対する確率分布を生成します。トークン「Paris」が最も高い確率を受け取るため、選択されて出力に追加されます。更新されたシーケンスは「The capital of France is Paris」となり、モデルはプロセスを繰り返します—次のトークンを予測します。这是直到模型输出特殊的序列结束 token,或达到最大长度限制。
ステップ 1:"The capital of France is" → "Paris" を予測
ステップ 2:"The capital of France is Paris" → "and" を予測
ステップ 3:"The capital of France is Paris and"→ " the" を予測
ステップ 4:...完了まで継続
理解すべき重要なポイント:モデル不像数据库查找那样"知道"答案。它根据其训练数据生成统计上可能的文本。这就是为什么 LLM 有时会生成听起来合理但实际错误的陈述——这是你在构建应用程序时应记住的一个限制。
整个过程——从你的提示到完整响应——就是每次与 LLM 交互时发生的情况。在下一节中,我们将了解使这一切成为可能的特定神经网络架构。
大規模言語モデルがテキストを処理し生成する方法
Transformer アーキテクチャ
ほとんどすべての сучасних LLM は、2017 年に Google の研究人员によって発表された画期的な論文「Attention Is All You Need」で導入された Transformer アーキテクチャ に基づいています。この単一の論文は AI の軌道を根本上改变し、你将在 Jetson 上运行的模型(Llama、Qwen、DeepSeek、Gemma)都是这个架构的直接后代。
主要な innovation は 自己注意メカニズムであり、モデルがテキストを処理する際に異なる単語の重要性を評価できるようになり、前例のないレベルで文脈、関係性、意味を理解できます。
Transformer:現代 LLM の基礎
逐次から並列へ:なぜ Transformer が勝ったか
Transformer 以前、RNN(再帰型ニューラルネットワーク)や LSTM などのモデルはテキストを一度に1単語ずつ、左から右へ逐次処理していました。これにより2つの大きな問題が発生しました:
- 遅い:各単語が前の単語の計算に依存—並列化不可能
- 忘れっぽい:モデルが100番目の単語に到达する頃には,基本上"忘记"了第1个单词
RNN(旧): "The" → "cat" → "sat" → "on" → "the" → "mat" (遅い、逐次)
Transformer: ["The", "cat", "sat", "on", "the", "mat"] → 同時にすべて! (速い、並列)Transformer は自己注意を通じてすべての単語を同時に処理することで这两つの问题を解决了。这使得训练速度大大提高,并使模型能够有效地捕获长距离关系。

自己注意の仕組み
自己注意は Transformer のコアイノベーションです。具体的な例で理解しましょう。
現実世界の類比——面接選秀プロセス:
あなたが募集職種の候補者として5通の履歴書を受け取りました。「-job description」(あなたが探しているもの)と各候補者を比較して評価する必要があります。以下是自己注意の仕組みです:
- 各履歴書は候補者と job description の両方—奇妙に思えるかもしれませんが,这就是自注意力对待句子中每个词的方式
- 候補者 A を評価するための「job description」は Query(Q)と呼ばれます
- 各履歴書には「job qualifications」セクションがあります—これが Key(K)です
- 実際の履歴書の内容(経験、スキル、教育)は Value(V)です
さて、この文の "it" が何を指すのかを弄清楚したいとします:
"The robot picked up the ball because it was heavy."
以下是逐步过程:
ステップ 1:各単語の Q/K/V を生成
文中の各単語が独自の Query、Key、Value ベクトルを生成します。各単語が「search question」と「共有する内容」の両方を準備していると考えてください:
| 単語 | Query(私が探しているもの) | Key(私が提供するもの) | Value(私の内容) |
|---|---|---|---|
| "robot" | 「重い/重量関連的是什么?」 | 「私はロボット、重いことができる」 | ロボットの実際の機能 |
| "picked" | 「オブジェクトとは何ですか?」 | 「私はアクションです」 | 選択アクションの詳細 |
| "ball" | 「重い的是什么?」 | 「私はボール、重いことができる」 | ボールの機能 |
| "it" | 「'it' は何を指しますか?」 | 「私は何かを表しています」 | — |

ステップ 2:関連性スコアを計算—ドット積
「it」という単語に対して、その Query ベクトルを取り、すべての他の単語の Key ベクトルとのドット積を計算します:
"it" Query × "robot" Key = 0.2(低関連性—この文脈では、ロボットは通常重いとは描述されません)
"it" Query × "picked" Key = 0.1(無関連—"picked" は重量について何も言いません)
"it" Query × "ball" Key = 0.9(高関連性—ボールは確かに重いです!)
ステップ 3:ソフトマックスを適用して正規化
これらの生スコアはソフトマックスを通過し、合計が1になる確率に変換されます:
"ball": 0.82(82%—"it" は最も可能性が高いのは「ball」を指しています)
"robot": 0.15(15%)
"picked": 0.03(3%)ステップ 4:値の加重合計
これらの重みを使用して、すべての Value ベクトルを組み合わせます:
新しい "it" の表現 = 0.82 × ball.Value + 0.15 × robot.Value + 0.03 × picked.Value結果?"it" という単語は今は ball を指していることを"知り"、その意味を前に運びます。
ステップ 5:すべての単語に繰り返す
この正確なプロセスが文中のすべての単語に対して同時に发生します。"robot"は"context を理解するために "ball"、"picked" などを見ます。"ball"は "robot" と "picked" を見ます。誰もが Query-Key-Value メカニズムを通じて同時に互いを見ています。
数学:
このプロセスは次のように記述できます:
Attention(Q, K, V) = softmax( Q × Kᵀ / √dₖ ) × V
ここで dₖ はベクトル次元であり、√dₖ はドット積計算中に数字が大きくなりすぎるのを防ぐスケーリング係数です。重要なのは式自体ではなく:各単語が他のすべての単語がそれ自身にどれほど関連しているかを計算し、それに応じて情報を収集します。
自己注意:単語がお互いに注意を向ける
マルチヘッド注意
前のセクションでは、自己注意が各単語に他のすべての単語を見させ、相関スコアを計算させる方法を見ました。結果は、各単語が参加した単語からの文脈をすでにブレンドした新しいベクトルセットです。これは強力ですが、制限があります:単一の注意パスは一度に1種類の関係のみをキャプチャできます。
「The robot picked up the ball because it was heavy」を考えてみます。"it" と "ball"(代名詞参照)の間、そして "robot" と "picked"(主語-動詞)の間のリンクは本質的に異なる2種類の関係です。単一の注意計算は1つを発見できますが、複数の関係タイプを同時にキャプチャするには、並列で複数の注意パスを実行する必要があります。
マルチヘッド注意はまさにこれを行います。アイデアは単純です:注意を1回だけ実行する代わりに、複数の並列実行し、各「ヘッド」が独自の独立した関係パターンを学習できるようにします。
具体的には、各ヘッドは独自の個別の Q、K、V 重み行列セットを持っています。这意味着对于同一个词,每个头将其映射到不同的Q、K、V 向量,导致它关注不同的其他词。处理同一个句子的四个头就像四个观察者透过不同颜色的滤镜看,每个看到句子的不同"方面":
文:[The] [robot] [picked] [up] [the] [ball] [because] [it] [was] [heavy]
ヘッド 1(文法): robot ↔ picked picked ↔ up
ヘッド 2(近接性): the ↔ robot picked ↔ up
ヘッド 3(意味論): heavy ↔ ball robot ↔ machine
ヘッド 4(参照): it ↔ ball
すべての4つのヘッドが同時に実行され、それぞれが独自の注意出力を生成します。4つの出力は連結され、1つの統一された出力にマージするために線形変換に合格します:
ヘッド 1(文法) ヘッド 2(近接性) ヘッド 3(意味論) ヘッド 4(参照)
↓ ↓ ↓ ↓
[出力 1] [出力 2] [出力 3] [出力 4]
↓ ↓ ↓ ↓
連結 + 線形変換
↓
[4種類の情報をすべて運ぶ統一出力]この統一出力は次のネットワーク層のために準備ができた状態で、4次元の関係情報を一度に運びます。这就是为什么 Transformer 如此深入地理解语言——它们不是从单一角度看待句子,而是并行地从多个维度分析它。
Transformer ブロック構造
多头注意的核心你已经理解了:通过多个并行注意力头,每个词可以同时从语法、语义和指代角度理解句子。但注意力并不是全部。Transformer 模型是通过将许多相同的ブロック堆叠在一起来构建的——例如 Llama 3.2 3B 堆叠了 28 个。这些构建块称为 Transformer 块,每个都遵循相同的内部流程。
段階 1 — マルチヘッド自己注意。 あなたがすでに知っているように、すべての単語が他のすべての単語を見渡し、Query-Key マッチングを通じて関連性スコアを計算し、最も関連性のある隣人から情報を収集します。出力は、整个句子からの文脈情報を含む各単語の新しい表現です。
段階 2 — Feed-Forward Network(FFN)。 注意が各単語を文脈で enrich した後、FFN は各単語を独立して処理します。小さな2層ニューラルネットワークとして考えてください,其工作是问:"Now that I know the context, what deeper features can I extract from this word?" FFN 存储了模型"知识"的惊人数量—它充当每个词的推理引擎。
这两个阶段之间和周围,有两个重要的保障机制保持深度网络可训练:
-
残差连接(Add): 注意力和 FFN 段階の後、元の入力が出力に戻されます。これは就像在电器上安装保险丝—即使中间模块产生了不完美的结果,原始信息也永远不会丢失。如果没有这个机制,在 28 层的堆叠中,训练信号(梯度)在反向传播时会衰减到接近零,模型将完全无法学习。
-
Layer Normalization: 残差加算の後、すべての値が安定した範囲に再スケーリングされます。把它想象成电路中的稳压器—它防止信号在通过 28 个连续放大阶段后"爆炸"。

关键是 每个连续的块都构建更深层次的抽象。Early blocks 捕获基本语法—哪些词是邻居,哪些词是主语或宾语。Middle blocks 开始组装语义—"the ball" 是一个名词短语,"was heavy" 是一个描述。By the final blocks,模型已经构建了对整个输入的丰富、多层理解,准备好进行准确的下一个 token 预测。
エンコーダ対デコーダ
"Attention Is All You Need"(2017)で描述された元の Transformer アーキテクチャ实际上有两半,每个都有不同的工作。理解这种分离有助于解释为什么现代 LLM 是这样构建的。
エンコーダ—読み手。 エンコーダの job 是 reading an entire input sentence in one pass and building a deep understanding of every word in context. 它使用双向注意力—意味着每个词可以查看所有其他词,包括左边和右边的。因为它同时看到完整句子,エンコーダ擅长理解タスク:总结段落、分类情感或提取文档的主题。BERT 是最著名的纯编码器模型,Qwen 和 Gemma 也提供编码器变体。
デコーダ—書き手。 デコーダの job 根本上是不同的:它一次生成一个 token,从左到右。它使用掩码自注意力,这意味着在预测第三个词时,它只能看到第一个和第二个词—永远看不到未来。这种 enforced blindness 是必不可少的:如果模型可以"作弊"偷看答案,它就永远不会学会自己生成。GPT、Llama 和 DeepSeek 都使用这种纯解码器架构。
エンコーダ-デコーダ—両方一緒に。 一些任务需要同时理解和生成:例如,将句子从英语翻译成中文,需要首先阅读整个英语句子(编码器),然后逐词生成中文翻译(解码器)。Whisper(你之前在本章中遇到的语音识别模型)使用这种组合架构。
现代 LLM 如 Llama、GPT、Qwen 和 DeepSeek 选择纯解码器的原因很简单:在足够数据上训练的解码器学会同时理解和生成文本。当它预测下一个 token 时,它必须隐含地理解之前的所有内容—而这种隐含的理解足以完成范围惊人的各种任务。
位置エンコーディング:単語の順序を知る
前のセクションでは、自己注意が各単語に他のすべての単語を見させ、相関スコアを計算させる方法を見ました。しかし、見落としやすい微妙な点があります:attention has no idea what order the words appear in。它计算所有词对之间的相关性,但计算完全独立于位置。
这意味着如果你把"The cat chased the dog"和"The dog chased the cat"输入模型,从注意力的角度来看,计算是完全相同的—两个句子包含完全相同的词,只是顺序不同。这显然是行不通的:重新排列相同的词会完全改变含义。
位置エンコーディングはまさにこの問題を解決するために設計されています。想法很直观:在每个词的向量输入注意力之前,添加一个位置指纹—一个数学上精心制作的向量,其唯一目的是说"这个词在这个位置"。把它想象成电影院里的座位号:座位号告诉你电影是什么,但它让你始终能区分第 3 排第 5 座和第 10 排第 2 座。
实际上,每个位置的指纹使用正弦和余弦函数生成:
Position 0: "What" + [0.00, 1.00, 0.00, 1.00, ...]
Position 1: "is" + [0.84, 0.54, 0.84, 0.54, ...]
Position 2: "Jet" + [0.91, -0.42, 0.91, -0.42, ...]なぜ正弦と余弦?因为相邻位置总是产生略有不同的指纹值,这些值是连续的(不是简单的整数 0、1、2)。这意味着即使模型只在最长 100 个位置的句子上训练,它也可以泛化到 200 个位置的句子—位置编码的"节奏"是可预测和规则的。
Llama 和 Qwen 等现代模型已升级到 RoPE(Rotary Position Embedding)。RoPE 不是添加位置值,而是根据其位置将每个词的向量在高位空间中旋转一个角度。这带来了额外的好处:两个词之间的相对距离(它们相距多少个位置)直接反映在它们旋转向量之间的角度差异中,而不仅仅是它们的绝对位置。这使得模型在处理不同长度的文本时更加稳定和灵活。
逐步:Transformer がテキストを処理する方法
今你已经学会了 Transformer 的所有核心组件,让我们通过一个完整的例子来追踪它们是如何协同工作的。我们将跟随这个问题:"What is Jetson?"
ステップ 1 — トークン化 生の入力テキストはトークンに分割されます(通常はサブワードフラグメント):
"What is Jetson?" → ["What", "is", "Jet", "son", "?"] (5 トークン)
ステップ 2 — 埋め込み 各トークンは高次元の数値ベクトルに変換されます。例如,Llama 3.2 3B 为每个 token 生成 3072 维向量:
"What" → [0.23, -0.45, 0.67, ..., 0.12] (3072 数字)
"is" → [0.12, 0.89, -0.34, ..., 0.56]
"Jet" → [0.78, 0.11, 0.56, ..., -0.33]
"son" → [0.45, -0.23, 0.91, ..., 0.78]
"?" → [0.67, 0.34, -0.12, ..., 0.45]ステップ 3 — 位置エンコーディングを追加 各トークンの埋め込みに位置エンコーディングベクトルが追加され、前のセクションで詳細に説明されたように、モデルに単語順序の認識を与えます。
ステップ 4 — 自己注意(N層で繰り返す) モデルはすべてのトークン間の関連性スコアを計算して関係を見つけます:
"What" は最も次 внимание: "?" (0.5)、"Jet" (0.4)、"is" (0.3)
"is" は最も次 внимание: "What" (0.4)、"Jetson" (0.5)
"Jet" は最も次 внимание: "son" (0.8)、"is" (0.3)注意力之后,每个 token 的表示现在包含它所关注的词的信息。
ステップ 5 — Feed-Forward Network 各トークンの enriched 表現は、より高いレベルの特徴を抽出するために、小さなニューラルネットワークを通じて独立して処理されます。
ステップ 6 — 繰り返し(N層スタック) ステップ 4 と 5 が何度も繰り返されます(Llama 3.2 3B の場合 28 回)。各層が更深层次的理解を構築します:
- 初期層 基本的構文と局所的な関係(単語順序、コロケーション)をキャプチャ
- 中層 セマンティクスを assemble(「Jetson」は計算プラットフォームを指す名詞)
- 後期層 予測の準備ができた высок уровня, 特定任务的理解形成
ステップ 7 — 出力予測 最終トークンの表現は整个词汇表に投影され、最高確率のトークンがモデルの次の単語の予測として選択されます:
{"NVIDIA": 0.92, "AI": 0.03, "a": 0.02, ...}
→ 予測:"NVIDIA"(最高確率)主要な Transformer コンセプト
| コンセプト | 説明 | 例 |
|---|---|---|
| コンテキストウィンドウ | モデルが一度に処理できる最大トークン数 | Llama 3.2: 128K トークン |
| パラメータ | モデルの能力を決定する学習済み重み | Llama 3.2 3B = 30億パラメータ |
| レイヤー | 一緒にスタックされた Transformer ブロックの数 | Llama 3.2 3B: 28レイヤー |
| 隠れサイズ | 各トークン表現の次元数 | Llama 3.2 3B: 3072次元 |
| 注意ヘッド | 並列注意計算の数 | Llama 3.2 3B: 24ヘッド |
スケーリング法則:なぜ更大的モデル更聪明
AI 研究における最も注目すべき発見の一つは、Transformer 性能がスケーリング法則に従うことです—モデル、データ、または計算予算の規模を拡大するにつれて、性能が予測可能に改善します。この発見は过去10年間における AI 能力の急上昇を説明します。
スケーリング法則には3つの主要な次元が含まれます:
-
更多パラメータ(モデルサイズ): パラメータ数を增加到 70B,例如显著提升模型的深度理解和表达能力。更大的模型可以捕获更微妙的模式并存储更多知识。
-
更多训练数据: 在不充分的数据上训练的大模型就像一个大胃王被给了小餐—它无法发挥其潜力。研究表明,模型大小和训练 token 数量应大致以 1:1 的比例同时扩展。
-
更多计算: 训练更大的模型需要更多的 GPU 时间和预算。主要 AI 实验室可以在单次训练运行中花费数亿美元,这就是为什么他们的专有模型远远超过开源项目所能达到的水平。
由于这三个维度同时扩展,该领域从 2017 年的原始 Transformer(仅 1.1 亿参数)发展到今天的 700 亿+参数模型。对于你的 Jetson 设备,更重要的含义是:即使 10 亿到 30 亿参数的模型也拥有扎实的理解和生成能力—足以在边缘提供实用的 AI 服务。
モデルサイズとローカルデプロイ
并非所有 LLM 都一样大。理解模型规模对于为你的硬件选择合适的模型至关重要—参数数量直接决定内存需求和推理速度:
| モデルサイズ | パラメータ | 必要な VRAM/RAM (FP16) | 品質 | Jetson での速度 |
|---|---|---|---|---|
| ライト | 1B–3B | 2–6GB | 基礎 | 非常に高速 |
| スモール~-medium | 7B–8B | 14–16GB | 良好 | 中程度 |
| ミディアム | 13B–14B | 26–28GB | 優秀 | 遅い |
| ラージ | 70B+ | 140GB+ | 卓越 | ローカルでは実用的でない |
Jetson デバイスにとって、最佳選択は 1B から 8B です。1B–3B 范围的模型在 Orin Nano 上提供非常流畅的交互体验,而 7B–8B 模型可以在 16GB Orin NX 上可靠运行。
ヒント:量子化後(次のセクションで説明)、メモリ使用量が急剧に減少します。INT4 量子化された 7B モデルは只需要约 3.5GB 内存—小到几乎可以在任何 Jetson 设备上运行。
人気のオープンソース LLM ファミリー
以下は、Jetson でよく動作する变体を提供する、最も顕著なオープンソース LLM ファミリーです:
Llama(Meta)
Meta のオープンソース LLM—现在拥有最活跃的社区和最丰富的生态系统。
- Llama 3.2 有 1B 和 3B 两种规格,专为边缘设备构建,性能和占用空间平衡出色
- 複数の言語をサポート;コミュニティは幅広い微調整变体を提供
- Ollama と llama.cpp エコシステムで最受支持的模型系列
Qwen(阿里云)
阿里巴巴のオープンソース LLM、中国語能力においてオープンソースでリードしています。
- Qwen3.5 涵盖 0.8B 到 122B 参数;0.8B 变体是资源受限边缘场景的理想选择
- 中英語の両言語サポートが優秀
- ツール使用とチェーン・オブ・ソート・リーズニングをネイティブにサポート
DeepSeek
数学、コーディング、論理タスクに優れた推理に焦点を当てたモデルファミリー。
- DeepSeek-R1 提供蒸馏版本(1.5B、7B、8B),在推理基准测试中显著优于同规模模型
- 精密な論理分析を必要とするエッジ AI アプリケーションに最適
- 7B 蒸留版は Jetson 上で最佳性价比推理模型之一
Phi(Microsoft)
「より少ないパラメータ、より高品質」という哲学に基づいて構築された Microsoft's compact model family。
- Phi-4-mini 只有 3.8B 参数,但在标准基准测试中匹配或超过许多 7B 模型
- 专门为资源受限环境设计—边缘デプロイに最適
- 独特的训练方法训练高质量"教科书级"数据
Gemma(Google)
Google の軽量オープンソースモデルファミリー、1B から 27B パラメータをカバー。
- Gemma 4 の 2B と 4B 变体在 Jetson 上运行良好
- 言語理解とコード生成の両方で强劲な性能
- 事前訓練済みバージョンと命令微調整バージョンの両方が利用可能
量子化:モデルをより小さくする
要在 Jetson 这样的边缘设备上流畅运行 70 亿参数模型,你需要应用量化—降低模型内部权重的数值精度,用"不完美但轻量"的低精度数字换取"完美但笨重"的高精度数字,从而大幅缩小内存使用。
直观地说,这就像把 4K 图像压缩到 720p:内容完全保留,但文件大小缩小了很多倍。对于 7B 模型,不同精度级别的内存节省是相当可观的:
| 精度 | ビット数 | メモリ(7Bモデル) | 品質への影響 |
|---|---|---|---|
| FP32 | 32ビット | ~28GB | なし(参照) |
| FP16 | 16ビット | ~14GB | 最小限 |
| INT8 | 8ビット | ~7GB | 小—几乎察觉不到 |
| INT4(GGUF Q4) | 4ビット | ~3.5GB | 受容可能—エッジデプロイの標準選択 |
INT4 量子化是边缘部署的主力:7B 模型只需 3.5GB 内存,小到可以在大多数 Jetson 设备上流畅运行。
一般的な量子化フォーマット
不同的推理引擎支持不同的量化文件格式,每个都有自己的优势:
- GGUF(llama.cpp エコシステム):本地推理的主导格式—Ollama と llama.cpp 原生支持,自描述,无需配置即可运行
- SafeTensors(HuggingFace エコシステム):更安全(加载时不执行任意代码),是 vLLM 和基于 HuggingFace 流水线的标准格式
- AWQ(Activation-aware Weight Quantization):为 GPU 推理优化,常与 vLLM 一起使用,是高吞吐量场景的最佳性能选择
推論フレームワークの概要
モデルが訓練されたら,你需要推理框架来实际在 Jetson 上运行它。本章涵盖了三个主流框架—每个框架专为旅程的不同阶段设计,从新手到生产部署。
Ollama — 最もシンプルな始め方
Ollama 是在本地运行 LLM 最快的方式。One-line installation、built-in model downloading and management—it works out of the box and is very beginner-friendly:
# Ollama をインストール
curl -fsSL https://ollama.com/install.sh | sh
# モデルを実行(初回起動で自動ダウンロード)
ollama run llama3.2:3b最适合: 首次体验 LLM、快速原型设计、学习和探索
llama.cpp — 最も精确な制御
llama.cpp 是一个轻量级的 C/C++ 实现,能高效地在 CPU 和 GPU 上运行模型。其优势是资源使用最少,对量化格式的广泛支持—使其成为资源受限边缘设备的首选:
# クローンしてビルド
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make -j$(nproc)
# 推論を実行
./llama-cli -m model.gguf -p "Hello, how are you?"最适合: 需要最大控制和性能优化的场景;轻量级边缘部署
vLLM — 本番グレードのサービング
vLLM 是为生产部署设计的高性能推理服务框架。它支持 PagedAttention(显著提升并发的内存分页管理)和连续批处理等高级功能,并提供 OpenAI 兼容 API:
# vLLM をインストール
pip install vllm
# API サーバーを起動
vllm serve meta-llama/Llama-3.2-3B --host 0.0.0.0 --port 8000最适合: 生产 API 服务、高并发、高吞吐量场景
比較表
每个框架都有自己的优势。正确的选择取决于你的具体需求:
| 機能 | Ollama | llama.cpp | vLLM |
|---|---|---|---|
| 使いやすさ | 非常に簡単、1コマンド | 中程度、ソースからビルド | 中程度、pip install |
| インストール | 1行スクリプト | ソースからビルド | pip install |
| モデルフォーマット | GGUF(組み込み) | GGUF | SafeTensors, AWQ |
| GPU アクセラレーション | はい(CUDA) | はい(CUDA, Metal) | はい(CUDA) |
| 組み込み API サーバー | はい | オプション(llama-server) | はい |
| OpenAI 互換 | はい | いいえ | はい |
| メモリ効率 | 良好 | 優秀(最小占用) | 良好 |
| バッチ/同時実行 | いいえ | いいえ | はい(コアアドバンテージ) |
| おすすめ用途 | ローカル開発とテスト | 最大エッジ最適化 | 本番サービングと API |
この章で学ぶこと
本章の残りの部分では、Jetson 上に LLM を設定し、完全な音声 AI アプリケーションを構築する手順を説明します:
モジュール 5.2:Ollama クイックスタート
Jetson 上にゼロから Ollama をインストールし、最初のモデルを引き出し、AI とのローカル会話を开始—完全オフライン。
モジュール 5.3:llama.cpp で LLM を実行
深入底层:从源码构建 llama.cpp,学习加载和运行 GGUF 量化模型,掌握边缘设备的细粒度优化技术。
モジュール 5.4:vLLM による高性能推論
OpenAI 互換 API を使用して本番グレードの LLM サービングインフラストラクチャを設定し、Jetson をローカル AI バックエンドに変身させます。
モジュール 5.5:Jetson Examples クイックスタート
jetson-examples リポジトリからの事前構築済み Docker コンテナを使用して、単一コマンドで LLM をデプロイし、すべての面倒な環境設定をスキップします。
モジュール 5.6:ASR + LLM + TTS パイプライン
音声認識(ASR)、大規模言語モデル(LLM)、テキスト読み上げ(TTS)をチェーンして、完全な音声 AI アシスタントを構築—すべて Jetson 上でオフライン実行。
実践:ハードウェアの評価
配置モジュールに進む前に、あなたの Jetson デバイスのハードウェア能力をチェックして、適切なモデルを選択できるようにしてください:
# 利用可能なメモリをチェック
free -h
# GPU モデルと VRAM をチェック
nvidia-smi
# JetPack バージョンをチェック(CUDA と TensorRT バージョンを決定)
dpkg -l | grep nvidia-jetpack
# 利用可能なストレージをチェック
df -h /結果を記録してください:
- 合計 RAM:______ GB
- GPU VRAM:______ MB
- 空きストレージ:______ GB
- JetPack バージョン:___________
这些数字,你就能确定哪些模型大小可以在你的设备上舒适运行。
実践:ビジョン言語モデルで物体を検出
现在你了解了 LLM 如何处理文本,让我们看看**视觉语言模型(VLM)**的实际应用—一种可以看到图像并描述其中内容的模型。下面的示例使用 Ollama 将本地图像发送到 VLM,VLM 返回物体名称和像素坐标。然后 OpenCV 在图像上绘制带标签的边界框。
前置き
pip install ollama opencv-python Pillow
ollama pull llava:7b # 初回のみ、約 4.7GB実行
cd code/
python vlm_object_detector.py --image your_photo.jpg
python vlm_object_detector.py --image photo.jpg --model minicpm-v --output results.jpgVLM 不是像 YOLO(第 4 章)那样的专用检测器—边界框准确性因模型而异。这个练习的目的是让你亲身体验 LLM 背后相同的基于 token 的推理,通过多模态模型扩展到图像—文本和视觉在 Transformer 内部遵循相同的路径。
よくある質問
Jetson 上で ChatGPT を実行できますか?
정확히는 아닙니다。ChatGPT は OpenAI が大規模なサーバーグループで実行している proprietary システムです。ただし、同様の会話能力を提供するオープンソースモデルを Jetson 上でローカルに実行でき、完全なデータプライバシーの利点もあります。
Jetson 上で LLM を使用するにはインターネットアクセスが必要ですか?
初期モデルダウンロード後、LLM を完全にオフラインで実行できます。これは接続が制限された地域のエッジデプロイにとって主要な利点の1つです。
応答を生成するにはどのくらい時間がかかりますか?
応答時間はモデルサイズとハードウェアに依存します。3B モデルを実行する Jetson Orin NX 16GB では、毎秒 10-30 トークンを期待—リアルタイムの会화에十分な速度です。
参考文献
- Attention Is All You Need(元の Transformer 論文)
- The Illustrated Transformer — Jay Alammar の視覚ガイド
- https://huggingface.co/blog/Esmail-AGumaan/attention-is-all-you-need
- Hugging Face LLM コース — NLP と LLM の基礎
- Llama 3.2 モデルカード
- Qwen3 ドキュメンテーション
- NVIDIA Jetson AI Lab — Jetson 向け AI 開発リソース
次へ:続けて モジュール 5.2:Ollama クイックスタート で Jetson 上に最初の LLM を実行しましょう!