Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Text Generation

テキスト生成とは、言語モデルが一度に1トークンずつ予測し、貪欲デコーディング、ビームサーチ、サンプリングのいずれかで各トークンを選んで文章を生成する仕組みです。

テキスト生成とは、1行の応答からレポートやプログラム全体まで、モデルが文章を自動生成することです。現在は主に大規模言語モデル(LLM)が自己回帰方式で生成します。モデルはプロンプトを受け取ると、語彙内のすべてのtokenについて確率を計算し、1つを選んで追加する処理を、停止するまで繰り返します。この同じループが、チャットアシスタント、コード補完、機械翻訳、テキスト要約を支えています。以前のシステムはテンプレートを埋めたり、n-gramモデルや再帰型ニューラルネットワークモデルからサンプリングしたりしていました。2019年以降はTransformerにより、GPT-2をはじめとするモデルで長く一貫性のある出力を実用的に生成できるようになりました。

自己回帰生成の仕組み#

トークン化によってプロンプトがトークンIDに変換され、モデルは1回の並列プリフィル処理ですべてのトークンを処理し、各トークンのアテンションキーと値をKVキャッシュに保存します。その後の各デコードステップでは、最新のトークンだけをモデルに入力し、キャッシュを読み込んで、語彙内の各要素に対する生のスコアであるロジットを出力します。ソフトマックスがこれらのロジットを確率に変換します。デコード戦略によって次のトークンが選ばれ、ユーザーにストリーミングされてシーケンスに追加されます。生成は、シーケンス終了トークン、停止文字列、またはトークン数の上限に達したときに終了するため、出力長は生成中に決まります。

プリフィルは計算負荷が高く、デコードはメモリ帯域幅に制約されるため、サービングエンジンは両者を慎重にスケジューリングします。たとえばチャンク化プリフィルを利用します。ストリーミングとは、テキストが表示されるにつれてアプリケーションがユーザーに提示する仕組みです。Ultralytics LLMインターフェースはstream=TrueをOpenAI SDKに渡すため、YOLO26アプリケーションでは、検出したシーンの説明をモデルが生成する際に、response.output_text.deltaイベントが届くたびにトークン単位で表示できます。

デコード戦略#

デコード戦略は、モデルと同じくらい出力の性質を左右します。貪欲デコードは常に最も確率の高いトークンを選ぶため決定的ですが、同じ表現を繰り返しやすい傾向があります。ビームサーチは確率の高い部分シーケンスをk個保持し、最も良い完成済みシーケンスを返すため、翻訳のように正解が1つのタスクに適しています。サンプリングでは、通常は分布の形を調整してから、その分布に従って選択します。温度はソフトマックスの前にロジットを割り、top-kサンプリングは確率の高いk個のトークンだけを残します。核サンプリング(top-p)は、Holtzmanらが2019年に発表した「The Curious Case of Neural Text Degeneration」で提案され、確率の合計がpに達する最小のトークン集合を残します。PyTorchで5トークンの語彙を使うと、両方の効果を確認できます。

import torch

# Next-token logits over a five-word vocabulary after the prompt "I took the"
vocab = ["bus", "train", "car", "stairs", "banana"]
logits = torch.tensor([3.0, 2.4, 1.8, 0.6, -2.0])

# Temperature divides the logits: low values sharpen the distribution, high values flatten it
for temperature in [0.5, 1.0, 1.5]:
    probs = torch.softmax(logits / temperature, dim=-1)
    print(f"T={temperature}:", ", ".join(f"{w} {p:.2f}" for w, p in zip(vocab, probs)))

# Top-p (nucleus) sampling keeps the smallest set of tokens whose probabilities reach p
probs, order = torch.softmax(logits, dim=-1).sort(descending=True)
keep = probs.cumsum(dim=-1) - probs < 0.9
print("Top-p 0.9 keeps:", [vocab[i] for i in order[keep]])

# Sample from the renormalized nucleus
torch.manual_seed(0)
picks = torch.multinomial(probs[keep] / probs[keep].sum(), num_samples=10, replacement=True)
print("Samples:", [vocab[order[i]] for i in picks])

温度0.5では「bus」の確率は0.71ですが、1.5では0.42に低下し、「banana」は0.00から0.02に上昇します。top-pを0.9にすると「bus」、「train」、「car」が残り、この3つで確率の合計が0.95になるため、「stairs」と「banana」はサンプリングされません。10回サンプリングすると、残った3つがさまざまな組み合わせで生成されます。他の制御も同じロジットに作用します。反復ペナルティはすでに使用されたトークンのスコアを下げ、制約付きデコードは文法やJSONスキーマに違反するすべてのトークンをマスクします。これにより、APIは構造化出力を保証できます。投機的デコードでは、小さなドラフトモデルに複数のトークンを提案させ、大きなモデルが1回の処理で検証することで生成を高速化します。

  • 言語モデリング: 次のトークンの確率を学習することであり、生成を可能にする学習目的です。生成とは、そのモデルを推論時に使用することです。
  • 系列変換モデル: 翻訳のように、別個の入力テキストから出力テキストを生成するエンコーダー・デコーダーモデルです。デコーダーのみのLLMは、プロンプトを続けることで同じタスクを処理します。
  • 拡散言語モデル: 1トークンずつ生成するのではなく、複数回のノイズ除去ステップで全位置を並列に反復修正し、文章全体を生成します。
  • テキストから画像への生成: テキストを入力として受け取り、ピクセルを生成します。

品質とリスク#

生成テキストは、正確かどうかにかかわらず流暢であるため、事実性が重要な用途ではハルシネーションが主なリスクとなります。検索拡張生成(RAG)では、ソース文書をプロンプトに含めることで、ハルシネーションを抑えます。温度を低くすると回答の再現性が高まり、温度を高くすると多様性が増す一方で、確率が低く誤ったトークンを選ぶ可能性も高まります。機械生成テキストは見分けることも難しく、AIウォーターマーキングの研究が進められています。2020年のGPT-3論文では、1,750億パラメーターのモデルが書いた200語のニュース記事と人間が書いた記事を見分けるよう求められた人々の正答率は、わずか52%でした。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう