このリポジトリは、LangChain と組み合わせて量子化されたオープンソース言語モデル モデル (LLM) を利用してアプリケーションを開発するための実用的な例を含む潜在的なフレームワークを提供します。特に、このガイドは、WizardLM や WizardLM-Mega など、さまざまな LLM の 4 ビット量子化 GPTQ バリアントの実装と利用に焦点を当てています。この特定のトピックに特化したリソースはオンラインに限られていますが、このリポジトリはそのギャップを埋め、包括的なガイドを提供することを目的としています。
LLM をローカルで実行すると、プライバシーが重要な要素となるため、多くの利点が得られます。データを独自のハードウェア内に保持することで、外部 API に依存せずにこれらのモデルの機能を活用できるため、データをより適切に制御でき、エキサイティングなアプリケーションの開発が可能になります。
nvidia-smi
コマンドは機能するはずです)注: Docker サポートが追加されます。
現時点では、次の GPTQ モデルがサポートされています。
langchain で GPTQ モデルの使用を開始するには、いくつかの重要な手順があります。
quant_cuda
正しく設定するdemo.py
実行し、OpenAI モデルの場合と同じように LangChain で LLM を使用できます。公式サイトの指示に従って Miniconda をインストールします。
conda が正しく設定されているかどうかを確認するには
$ conda --version
シェル上で conda を初期化する
$ conda init
新しい conda 環境を作成します3.10.9
でのみテストされているため、必ず指定された Python バージョンを使用してください。
$ conda create -n wizardlm_langchain python=3.10.9
新しい環境が作成されたら、アクティブ化します。
$ conda activate wizardlm_langchain
上記の 2 から 4 までのプロセス全体は、 setup.sh
bash スクリプトを使用して自動化されます。好みに応じて自由に変更してください。
$ bash ./setup.sh
環境が正しく設定されていれば、理想的にはすべての手順がエラーなしで実行されるはずです。
デモの実行中に次の例外が発生した場合:
Exception: Error while deserializing header: HeaderTooLarge
これは、モデルが完全にダウンロードされていないことを意味するため、 setup.py
にあるgit clone
コマンドを使用してモデルを再ダウンロードしてみてください。
デモを実行する前に、環境を初めてセットアップするときに環境を非アクティブ化し、再度アクティブ化することをお勧めします。
デモを実行します。
$ python demo.py
setup.sh
を使用すると、デフォルトで wizardLM-7B-GPTQ モデルがダウンロードされますが、このプロジェクトでテストされた他のモデルを使用したい場合は、 download_model.sh
スクリプトを使用できます。
$ download_model.sh < HUGGING FACE MODEL NAME >
# Example
$ ./download_model.sh " TheBloke/WizardLM-7B-uncensored-GPTQ "
注: HF から完全なモデルをダウンロードできない場合は、Git LFS が正しく構成されていることを確認してください。コマンド
git lfs install
ジョブが完了する場合があります。
セットアッププロセスが完了したら、次の手順に従って LangChain で GPTQ モデルを使用できます。
グローバルに使用するには、
wizardlm_langchain
プロジェクトのルート ディレクトリを PYTHONPATH に必ず追加してください。
使用方法を理解するには、 demo.py
スクリプトの例を参照してください。
このリポジトリへの貢献は大歓迎です。問題を見つけた場合、または改善のための提案がある場合は、お気軽に問題をオープンするか、プル リクエストを送信してください。
貢献する場合は、次のガイドラインに従ってください。
このリポジトリは、GNU Public License に基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
オープンソース コミュニティと、このリポジトリで使用されているオリジナルの GPTQ モデルの開発者の貢献に感謝いたします。 oababooga/text-generation-webui に多大な感謝を申し上げます。彼らの研究は、langchain を使用して GPTQ モデルをセットアップするのに非常に役立ちました。