VerbaFlow へようこそ。これは、言語モデリング タスク専用に設計された Go で書かれたニューラル アーキテクチャです。堅牢な RWKV RNN 上に構築されたこのモデルは、標準 CPU 上で効率的なパフォーマンスを発揮するように最適化されており、コンシューマ ハードウェア上でも比較的大規模な言語モデルをスムーズに実行できます。
Pile データセットの事前トレーニング済みモデルを利用できる機能により、VerbaFlow は、次のトークンの予測だけでなく、テキストの要約、テキストの分類、質問応答、一般的な会話などの他のタスクでも GPT のような Transformer モデルと同等のパフォーマンスを発揮します。
要件:
このリポジトリのクローンを作成するか、ライブラリを取得します。
go get -u github.com/nlpodyssey/verbaflow
VerbaFlow の使用を開始するには、Hugging Face Hub で入手可能な事前トレーニング済みモデルRWKV-4-Pile-1B5-Instruct
使用することをお勧めします。このモデルは、Pile データセットを使用して微調整されており、xP3 データセットで微調整されたように、人間の命令を理解して実行できるように特別に設計されています。このモデルの派生元である元のRWKV-4-Pile-1B5-Instruct-test2-20230209
モデルには、ここからアクセスできます。
このライブラリは、x86-64 CPU で実行するように最適化されています。別のアーキテクチャで実行する場合は、
GOARCH=amd64
環境変数を使用できます。
VerbaFlow を構築して使用するには、次のコマンドを使用できます。
go build ./cmd/verbaflow
このコマンドは go プログラムをビルドし、 verbaflow
という名前の実行可能ファイルを作成します。
./verbaflow -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct download
このコマンドは、指定されたモデル (この場合、「models」ディレクトリの下の「nlpodyssey/RWKV-4-Pile-1B5-Instruct」) をダウンロードします。
./verbaflow -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct convert
このコマンドは、ダウンロードしたモデルをプログラムで使用される形式に変換します。
./verbaflow -log-level trace -model-dir models/nlpodyssey/RWKV-4-Pile-1B5-Instruct inference --address :50051
このコマンドは、指定されたモデルで gRPC 推論エンドポイントを実行します。
上記のコマンドを実行する前に、必要な依存関係がインストールされていることを確認してください。
LLM の最も興味深い機能の 1 つは、プロンプトに基づいて反応する機能です。
推論でコマンドを使用してverbaflow
gRPC エンドポイントを実行し、次のプロンプトを入力してprompttester
例を実行します。
プロンプト:
echo 'nQ: Briefly: The Universe is expanding, its constituent galaxies flying apart like pieces of cosmic shrapnel in the aftermath of the Big Bang. Which section of a newspaper would this article likely appear in?nnA:' | go run ./examples/prompttester --dconfig ./examples/prompttester/config.yaml
期待される出力:
Science and Technology
プロンプト:
echo 'nQ:Translate the following text from French to English Je suis le père le plus heureux du mondennA:' | go run ./examples/prompttester --dconfig ./examples/prompttester/config.yaml
期待される出力:
I am the happiest father in the world.
主な依存関係のリストは次のとおりです。
RWKV RNN と、事前トレーニング済みモデルを含むすべての関連リソースを作成してくれた PENG Bo に感謝します。
「VerbaFlow」は、ラテン語で言葉を意味する「verba」と、リカレント ニューラル ネットワークの特徴を暗示する「flow」を組み合わせたもので、ネットワークの流暢で連続的な言葉の流れを連想させます。内部状態を維持し、新しい単語を生成するときに前の単語と文脈を「記憶」する能力。