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

Language Modeling

言語モデリングでは、通常、次のトークンを予測することで、単語やトークンの系列に確率を割り当てます。n-gram、ニューラルモデル、評価について解説します。

言語モデリングとは、単語またはトークンのシーケンスに確率を割り当てるタスクです。確率の連鎖律により、P(w1, w2, ..., wn) = P(w1) x P(w2 | w1) x ... x P(wn | w1, ..., wn-1)となります。そのため、それ以前のトークンから次のトークンを予測するモデルは、あらゆるテキストの確率を定義し、その予測からサンプリングすることで新しいテキストを生成できます。この次トークン予測の目的関数は、すべてのGPTモデルと大半の大規模言語モデル(LLM)を学習させます。また、LLMが登場する何十年も前から、小規模言語モデルは音声認識や機械翻訳システムで候補出力を順位付けしており、現在もスマートフォンのキーボードで次の単語を提案しています。

言語モデルによるテキスト生成の仕組み#

学習済みモデルはプロンプトを読み取り、語彙内のすべてのトークンを採点し、softmaxでスコアを次トークンの確率に変換します。次にデコード規則でトークンを1つ選び、モデルがそのトークンを追加します。このループは、終了トークンが出力されるか、長さの上限に達するまで繰り返されます。これがテキスト生成の仕組みです。

温度パラメーターや核サンプリングを使ったサンプリングでは、尤度の一部を多様性と引き換えにします。各トークンはすでに生成されたトークンに依存するため、応答は一度に1トークンずつ生成されます。Ultralytics LLMインターフェースはstream=Trueをプロバイダーに渡すため、検出シーンの説明をモデルに求めるYOLO26パイプラインでは、テキストの差分が届くたびに出力できます。

Nグラムからニューラルモデルまで#

Claude Shannonは1948年の情報理論に関する論文で、nグラム統計から英語の単語や文字を近似するモデルを構築しました。nグラムモデルは、コーパス内で単語列が出現する頻度を数えてP(次の単語 | 直前のn-1個の単語)を推定します。1970年代から1980年代のIBMの音声認識システムは、nグラムモデルに依存していました。n = 2のバイグラムモデルで、その考え方を数行のPythonコードで示します。

from collections import Counter

sentences = ["the cat sat on the mat .", "the dog sat on the rug .", "the cat saw the dog ."]
corpus = " ".join(sentences).split()

# Count word pairs to estimate P(next word | previous word)
pairs = Counter(zip(corpus, corpus[1:]))
firsts = Counter(corpus[:-1])

# The model's next-word distribution after "the"
print({nxt: round(n / firsts["the"], 2) for (prev, nxt), n in pairs.items() if prev == "the"})

# Chain rule: a sentence's probability is the product of its next-word probabilities
sentence = ["the", "dog", "sat", "on", "the", "mat"]
p = 1.0
for prev, nxt in zip(sentence, sentence[1:]):
    p *= pairs[(prev, nxt)] / firsts[prev]
print(f"P(dog sat on the mat | the) = {p:.4f}")

「the」の後に続く単語として、モデルは「cat」と「dog」にそれぞれ0.33、「mat」と「rug」にそれぞれ0.17の確率を割り当てます。「the」の後に「dog sat on the mat」が続く確率は0.0278です。この文はコーパスに含まれていませんが、文中の単語ペアはすべて含まれているためです。コーパスに存在しないペアの確率は0になるため、実用的なnグラムモデルにはKneser-Neyなどの平滑化手法が必要です。また、n-1個を超える単語の文脈は利用できません。

Yoshua Bengioらは2003年のニューラル確率的言語モデルで、頻度集計を学習可能な埋め込みとニューラルネットワークに置き換え、類似した単語が統計的情報を共有できるようにしました。リカレントニューラルネットワーク(RNN)とLSTMは利用可能な文脈を拡張し、コンテキストウィンドウ全体への自己注意を備えたTransformerが、2017年以降、標準的なアーキテクチャとなりました。GPT-3は2020年に、パラメーター数1,750億の言語モデルがプロンプト内の例から新しいタスクを学習できることを示しました。

因果言語モデリングとマスク言語モデリング#

因果言語モデリング(自己回帰型言語モデリングとも呼ばれます)は、各トークンを左側のトークンから予測する方式で、生成モデルの目的関数として使われます。マスク言語モデリングは一部のトークンを隠し、両側の文脈から予測します。BERTは入力トークンの15%を対象にこの方法で学習します。両側の文脈を使うことで、分類や固有表現認識などの理解タスクに強くなる一方、左から右にテキストを書くことはできません。拡散言語モデルはマスキングを発展させ、複数の位置を数ステップにわたって並列に埋める生成器を実現します。

学習と評価#

学習は自己教師あり学習です。生テキスト自体がラベルとなり、モデルは予測分布と実際の各次トークンとの間のクロスエントロピー損失関数を最小化します。平均損失の指数がパープレキシティであり、標準的な内部評価指標です。スケーリング則は、モデル、データ、計算量の拡大に伴う損失の低下を表します。事前学習済みのベースモデルはテキストの続きを生成するだけですが、指示チューニングと人間のフィードバックによる強化学習(RLHF)によって、リクエストに従うアシスタントになります。

  • 言語モデルとLLM: 言語モデルとは、バイグラム表からTransformerまで、このタスクで学習されたモデル全般を指します。LLMは、数兆個のトークンで学習された数十億個のパラメーターを持つ言語モデルです。
  • 自然言語処理(NLP): 人間の言語を扱うコンピューティング分野全体を指し、言語モデリングはその中の1つのタスクです。
  • 視覚自己回帰モデリング(VAR): 同じ次ステップ予測を画像に適用し、単語の代わりに粗い解像度から細かい解像度へとトークンマップを生成します。

ソリューションを見る

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

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

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の未来を一緒に築きましょう!

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