このプロジェクト ChemInstruct には 3 つの主要コンポーネントがあります。
両方のコンポーネントのインストールは異なりますが、同じことがそれぞれのフォルダーに記載されています。
NERLLaMA は、機械学習アプローチを使用してテキスト内の固有表現を識別する固有表現認識 (NER) ツールです。このツールは、Large Language Model (LLM) の機能を利用します。このツールは使いやすく柔軟になるように設計されており、ユーザーは独自のデータに基づいてモデルをトレーニングおよび評価できます。
NERLLaMA をインストールするには、システムに Python 3.9 以降がインストールされている必要があります。 NERLLaMA をインストールするには、ChemInstruct/NERLLaMA に移動し、次のコマンドを実行します。
pip install -e .
ツール/パッケージは以下のように使用できます
1: パッケージとして:
これにより、アクティブな Python venv または conda 環境に nerllama パッケージがインストールされます。したがって、パッケージは独自のカスタム コードで直接使用できます。
from nerllama . schemas . ChemStruct import InstructDataset
id = InstructDataset ()
id . convert_instruction_causal ()
2: CLI から
上記のインストールが完了したら。 nerl
CLI インターフェイスにも端末からアクセスできます。この cli コマンドを使用すると、エンティティなどを抽出するための nerllama コマンドの迅速かつ簡単な使用が容易になります。コマンドの使用方法の詳細については、「CLI 相互作用」を確認してください。
このプロジェクトの一部は vllm に依存しています。 vllm のインストール要件で指定されているように、gcc バージョン 5 以降、および CUDA バージョン 11.0 ~ 11.8 があることを確認してください。
NERLLaMA は、Hugging Face Transformers ライブラリを使用して LLM を操作します。このツールを使用するには、Hugging Face Web サイトのアカウントが必要です。ここでアカウントにサインアップできます。 GPU を介して事前トレーニングされたモデルを微調整し、評価しました。したがって、プロジェクトでは CUDA と cuDNN をシステムにインストールする必要があります。
LLaMA モデルには、Meta AI ポータルと Hugging Face からモデルにアクセスした後にのみアクセスできます。 LLaMA HuggingFace からも同様のリクエストが可能です。
NERLLaMA を使用するには、トレーニングされたモデルが必要です。このプロジェクトでは、開始するために使用できる事前トレーニングされたモデルを提供します。事前トレーニングされたモデルを使用するには、次のコマンドを実行します。
python main.py --text " Your text goes here " --model " llama2-chat-ft " --pipeline " llm " --auth_token " <your huggingface auth token> "
python main.py --file " <workspace_root>/ChemInstruct/NERLLaMA/nerllama/data/sample.txt " --model " llama2-chat-ft " --pipeline " llm " --auth_token " <your huggingface auth
モデル:
llama2-chat-ft
- LLaMA2 チャットの微調整llama2-base-ft
- LLaMA2 ベースの微調整llama2-chat
- LLaMA2 チャット HFllama2-chat-70b
- LLaMA2 チャット HF 70Bmistral-chat-7b
- MistralAI 7B 命令 v0.2falcon-chat-7b
- TII の Falcon 7b の指示パイプライン:
llm
- 大規模言語モデルrag
- 検索拡張生成W&B を使用して生成/トレーニング データを収集し、同期しました。 CLI を使用する場合、W&B への接続を求めるプロンプトが表示される場合があります。
wandb: (1) Create a W & B account
wandb: (2) Use an existing W & B account
wandb: (3) Don ' t visualize my results
wandb: Enter your choice: 3
選択を求められたら、「3」と入力して W&B への接続をスキップします。
NERLLaMA は、有料料金機能に簡単にアクセスできるようにnerl
cli コマンドを公開します
nerl nerllama
コマンドを実行して、指定されたファイルから化学エンティティを抽出します
nerl nerllama run "<path to file containing chemical literature>" <model HF path / or shorthand (mentioned above)> <pipeline: LLM/RAG> <hf token>
nerl nerllama run /home/ubuntu/data/sample_text.txt llama2-chat-ft LLM hf_*****
nerl nerllama run /home/ubuntu/data/sample_text.txt meta-llama/Meta-Llama-3-8B-Instruct LLM hf_*****
nerl nerllama run /home/ubuntu/data/sample_text.txt llama2-chat-ft RAG hf_*****
TestingNERTools は、市場で利用可能な NER ツールをテストするプロジェクトです。プロジェクトは使いやすく柔軟性があるように設計されているため、ユーザーはプロジェクトでサポートされているツールを簡単にテストできます。
プロジェクトは 2 つの部分に分かれています。最初の部分は Java ベースで、2 番目の部分は Python ベースです。
まず、 Java パーツをインストールするには、システムに Java 8 以降がインストールされている必要があります。
次のファイルをダウンロードします。
上記でダウンロードしたすべてのファイルをパッケージ フォルダーに移動します。
パッケージフォルダーでjavafx-sdk-21.zipを解凍します。
プロジェクトをビルドするには、次のコマンドを実行します。
javac -cp " .;<root directory>ChemInstructTestingNERToolspackages*;<root directory>ChemInstructTestingNERToolssrc " <root directory>ChemInstructTestingNERToolssrcStartEvaluation.java
java -cp " .;<root directory>ChemInstructTestingNERToolspackages*;<root directory>ChemInstructTestingNERToolssrc " <root directory>ChemInstructTestingNERToolssrcStartEvaluation.java --directory <input directory path> --tool <tool name> --dataset <dataset>
引数:
2 番目: Python 部分をインストールするには、システムに Python 3.9 以降がインストールされている必要があります。
すべての依存関係をインストールするには、次のコマンドを実行します。
cd python_src
pip install -r requirements.txt
両方のコンポーネントの使用法は異なりますが、同じことがそれぞれのフォルダーに記載されています。
このプロジェクトは MIT ライセンスに基づいてライセンスされています。詳細については、LICENSE ファイルを参照してください。
このプロジェクトを可能にしたインフラストラクチャとツールを提供してくれた Hugging Face チームに感謝します。また、コミュニティのサポートと貢献にも感謝いたします。