ホームページ >テクノロジー周辺機器 >AI >これがLLMSが言語を分解する方法です

これがLLMSが言語を分解する方法です

Patricia Arquette
Patricia Arquetteオリジナル
2025-03-11 10:40:11155ブラウズ

大規模な言語モデルの秘密を明らかにする:トークン化に深く飛び込む

2020年のOpenaiのGPT-3を取り巻く話題を覚えていますか? GPT-3の注目すべきテキスト生成能力は、そのラインでは最初ではありませんが、名声を得ていました。それ以来、無数の大規模な言語モデル(LLM)が登場しています。しかし、LLMSはChatGpt Decipher Languageのようにどのように好きですか?答えは、トークン化と呼ばれるプロセスにあります。

この記事では、Andrej Karpathyの洞察に富んだYouTubeシリーズ「LLMS Like ChatGptのDeep Dive」からインスピレーションを得ています。 (強くお勧めします!)

トークン化を調査する前に、LLMの内部仕組みを簡単に調べてみましょう。すでにニューラルネットワークとLLMに精通している場合は、先にスキップしてください。

大規模な言語モデル内

LLMSは、変圧器のニューラルネットワークを利用します - 複雑な数学式。入力は、埋め込み層を介して処理されるトークン(単語、フレーズ、または文字)のシーケンスであり、それらを数値表現に変換します。これらの入力は、ネットワークのパラメーター(重み)とともに、大規模な数学的方程式に供給されます。

最新のニューラルネットワークは、最初はランダムに設定された数十億のパラメーターを誇っています。ネットワークは最初にランダムな予測を行います。トレーニングは、これらの重みを繰り返し調整して、ネットワークの出力をトレーニングデータのパターンに合わせます。したがって、トレーニングには、トレーニングデータの統計的特性を最もよく反映する最適な重量セットを見つけることが含まれます。

Vaswani et al。によって2017年の論文「注意が必要です」で導入されたトランスアーキテクチャは、シーケンス処理用に特別に設計されたニューラルネットワークです。最初は神経機械の翻訳に使用されていましたが、現在はLLMSの礎石です。

生産レベルのトランスネットワークの視覚的理解については、 https://www.php.cn/link/f4a75336b061f291b6c11f5e4d6ebf7dにアクセスしてください。このサイトは、GPTアーキテクチャとその推論プロセスのインタラクティブな3D視覚化を提供します。

これがLLMSが言語を分解する方法ですこのNANO-GPTアーキテクチャ(約85,584パラメーター)は、レイヤーを介して処理された入力トークンシーケンスを示しており、変換(注意メカニズムとフィードフォワードネットワーク)を受けて次のトークンを予測します。

トークン化:テキストの分解

ChatGptやClaudeのような最先端のLLMをトレーニングするには、いくつかの連続した段階が含まれます。 (トレーニングパイプラインの詳細については、幻覚に関する以前の記事を参照してください。)

初期段階である事前削除には、大規模で高品質のデータセット(テラバイト)が必要です。これらのデータセットは通常、独自のものです。例として、ハグする顔(Open Data Commons Attributionライセンスの下で入手可能)のオープンソースFineWebデータセットを使用します。 ( FineWebの作成の詳細はこちら)。

これがLLMSが言語を分解する方法です FineWebのサンプル(連結した100の例)。

これがLLMSが言語を分解する方法です私たちの目標は、このテキストを再現するためにニューラルネットワークをトレーニングすることです。ニューラルネットワークには、有限セットからのシンボルの1次元シーケンスが必要です。これにより、テキストをそのようなシーケンスに変換する必要があります。

1次元テキストシーケンスから始めます。 UTF-8エンコーディングは、これを生のビットシーケンスに変換します。

これがLLMSが言語を分解する方法です最初の8ビットは文字「A」を表します。

このバイナリシーケンスは、技術的には一連のシンボル(0および1)が長すぎます。より多くのシンボルを備えた短いシーケンスが必要です。 8ビットをバイトにグループ化すると、256の可能なシンボル(0-255)のシーケンスが得られます。

これがLLMSが言語を分解する方法ですバイト表現。

これがLLMSが言語を分解する方法ですこれらの数値は任意の識別子です。

これがLLMSが言語を分解する方法ですこの変換はトークン化です。最先端のモデルは、BYTE-PAIRエンコード(BPE)を使用してさらに進みます。

BPEは、頻繁に連続したバイトペアを識別し、それらを新しいシンボルに置き換えます。たとえば、「101 114」が頻繁に表示される場合、新しいシンボルに置き換えられます。このプロセスは繰り返され、シーケンスを短縮し、語彙を拡張します。 GPT-4はBPEを使用して、約100,000トークンの語彙をもたらします。

さまざまなモデルのトークン化を視覚化するTiktokenizerとのインタラクティブなトークン化を探索します。最初の4文にGPT-4のCL100K_Baseエンコーダーを使用すると、

 <code>11787, 499, 21815, 369, 90250, 763, 14689, 30, 7694, 1555, 279, 21542, 3770, 323, 499, 1253, 1120, 1518, 701, 4832, 2457, 13, 9359, 1124, 323, 6642, 264, 3449, 709, 3010, 18396, 13, 1226, 617, 9214, 315, 1023, 3697, 430, 1120, 649, 10379, 83, 3868, 311, 3449, 18570, 1120, 1093, 499, 0</code>

これがLLMSが言語を分解する方法です

サンプルデータセット全体も、 CL100K_Baseを使用してトークン化できます。

これがLLMSが言語を分解する方法です

結論

トークン化はLLMSにとって重要であり、生のテキストをニューラルネットワークの構造化された形式に変換します。シーケンスの長さと語彙サイズのバランスをとることは、計算効率のために重要です。 GPTのような最新のLLMは、最適なパフォーマンスにBPEを使用します。トークン化を理解することで、LLMSの内側の仕組みに関する貴重な洞察が得られます。

X(以前のTwitter)で私をフォローしてください。

参照

  • chatgptのようなLLMSに深く潜ります
  • アンドレイ・カルパシー
  • 注意が必要です
  • LLM視覚化( https://www.php.cn/link/f4a7536b061f291b6c11f5e4d6ebf7d ))
  • LLM幻覚(link_to_hallucination_article)
  • Huggingfacefw/fineweb・hugging faceのデータセット(link_to_huggingface_fineweb)
  • FineWeb:大規模な最高のテキストデータのためにWebをデカント - hugging hugging Face Space by…(https://www.php.cn/link/271df68653f0b3c70d446bdcbc6a2715)
  • Open Data Commons Attributionライセンス(ODC-BY)v1.0 - オープンデータコモンズ:オープンデータの法的ツール(link_to_odc_by)
  • トークン化のバイトペアエンコード - フェイスNLPコースを抱き締める(link_to_huggingface_bpe)
  • Tiktokenizer(https://www.php.cn/link/3b8d83483189887a2f1a39d690463a8f)

ブラケットリンクを実際のリンクに置き換えてください。要求に応じて、元のフォーマットと画像の配置を維持しようとしました。

以上がこれがLLMSが言語を分解する方法ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。