이 프로젝트 ChemInstruct에는 3가지 주요 구성 요소가 있습니다.
두 구성 요소의 설치는 서로 다르며 해당 폴더에 동일하게 언급되어 있습니다.
NERLLaMA는 기계 학습 접근 방식을 사용하여 텍스트에서 명명된 엔터티를 식별하는 명명된 엔터티 인식(NER) 도구입니다. 이 도구는 LLM(대형 언어 모델)의 강력한 기능을 사용합니다. 이 도구는 사용하기 쉽고 유연하게 설계되어 사용자가 자신의 데이터를 바탕으로 모델을 훈련하고 평가할 수 있습니다.
NERLLaMA를 설치하려면 시스템에 Python 3.9 이상이 설치되어 있어야 합니다. NERLLaMA를 설치하려면 ChemInstruct/NERLLaMA로 이동하여 다음 명령을 실행하십시오.
pip install -e .
도구/패키지는 아래와 같이 사용할 수 있습니다.
1: 패키지로:
그러면 활성 Python venv 또는 conda env에 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 웹사이트에 계정이 있어야 합니다. 여기에서 계정을 등록할 수 있습니다. 우리는 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 도구를 테스트하는 프로젝트입니다. 이 프로젝트는 사용하기 쉽고 유연하게 설계되어 사용자가 프로젝트에서 지원되는 도구를 쉽게 테스트할 수 있습니다.
프로젝트는 두 부분으로 나누어집니다. 첫 번째 부분은 Java 기반이고 두 번째 부분은 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>
인수:
둘째: Python 부분을 설치하려면 시스템에 Python 3.9 이상이 설치되어 있어야 합니다.
모든 종속성을 설치하려면 다음 명령을 실행하십시오.
cd python_src
pip install -r requirements.txt
두 구성 요소의 사용법은 다르며 해당 폴더에 동일하게 언급되어 있습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
이 프로젝트를 가능하게 한 인프라와 도구를 제공한 Hugging Face 팀에 감사의 말씀을 전하고 싶습니다. 또한 커뮤니티의 지원과 기여에 감사드립니다.