โครงการ ChemInstruct นี้มีองค์ประกอบหลัก 3 ส่วน:
การติดตั้งสำหรับส่วนประกอบทั้งสองจะแตกต่างกัน และจะกล่าวถึงสิ่งเดียวกันในโฟลเดอร์ที่เกี่ยวข้อง
NERLLaMA เป็นเครื่องมือ Named Entity Recognition (NER) ที่ใช้วิธีการเรียนรู้ของเครื่องเพื่อระบุเอนทิตีที่มีชื่อในข้อความ เครื่องมือนี้ใช้พลังของ Large Language Models (LLM) เครื่องมือนี้ได้รับการออกแบบให้ใช้งานง่ายและยืดหยุ่น ช่วยให้ผู้ใช้สามารถฝึกอบรมและประเมินแบบจำลองจากข้อมูลของตนเองได้
หากต้องการติดตั้ง NERLLaMA คุณจะต้องติดตั้ง Python 3.9 ขึ้นไปบนระบบของคุณ หากต้องการติดตั้ง NERLLaMA ให้ไปที่ ChemInstruct/NERLLaMA และรันคำสั่งต่อไปนี้:
pip install -e .
สามารถใช้เครื่องมือ/แพ็คเกจได้ดังนี้
1: เป็นแพ็คเกจ:
สิ่งนี้จะติดตั้งแพ็คเกจ nerllama ใน python venv ที่ใช้งานอยู่หรือ conda env ดังนั้นแพ็คเกจจึงสามารถใช้ได้โดยตรงในโค้ดที่คุณกำหนดเอง
from nerllama . schemas . ChemStruct import InstructDataset
id = InstructDataset ()
id . convert_instruction_causal ()
2: จาก CLI
เมื่อการติดตั้งข้างต้นเสร็จสิ้น อินเทอร์เฟซ nerl
CLI ยังสามารถเข้าถึงได้จากเทอร์มินัล คำสั่ง cli นี้อำนวยความสะดวกในการใช้คำสั่ง nerllama เพื่อแยกเอนทิตี ฯลฯ ได้อย่างรวดเร็วและง่ายดาย ตรวจสอบ CLI-Interaction เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้คำสั่ง
บางส่วนของโปรเจ็กต์นี้อาศัย vllm ตรวจสอบให้แน่ใจว่าคุณมี gcc เวอร์ชัน 5 ขึ้นไป และ CUDA เวอร์ชันระหว่าง 11.0 ถึง 11.8 ตามที่ระบุไว้ในข้อกำหนดการติดตั้งสำหรับ vllm
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 Chat ปรับแต่งแล้วllama2-base-ft
- ฐาน LLaMA2 ปรับแต่งอย่างละเอียดllama2-chat
- LLaMA2 แชท HFllama2-chat-70b
- LLaMA2 แชท HF 70Bmistral-chat-7b
- MistralAI 7B สอน v0.2falcon-chat-7b
- คำแนะนำ Falcon 7b ของ TIIท่อ:
llm
- โมเดลภาษาขนาดใหญ่rag
- การดึงข้อมูล Augmented Generationเราใช้ 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 - ดูรายละเอียดในไฟล์ใบอนุญาต
เราขอขอบคุณทีมงาน Hugging Face สำหรับการจัดหาโครงสร้างพื้นฐานและเครื่องมือที่ทำให้โครงการนี้เป็นไปได้ เราอยากจะขอบคุณชุมชนสำหรับการสนับสนุนและการมีส่วนร่วมของพวกเขา