พื้นที่เก็บข้อมูลนี้จัดเตรียมโค้ดเบสพื้นฐานสำหรับการจัดประเภทข้อความโดยใช้ LLaMA
หากคุณต้องการข้อมูลอื่นๆ เกี่ยวกับฮาร์ดแวร์ โปรดเปิดปัญหา
รับจุดตรวจจากที่เก็บ LLaMA อย่างเป็นทางการจากที่นี่
1-1. ผมสันนิษฐานว่าจุดตรวจจะอยู่ในทิศทางรากของโครงการและเนื้อหาจะจัดเรียงดังนี้
checkpoints
├── llama
│ ├── 7B
│ │ ├── checklist.chk
│ │ ├── consolidated.00.pth
│ │ └── params.json
│ └── tokenizer.model
เตรียมสภาพแวดล้อมหลามของคุณ ฉันแนะนำให้ใช้อนาคอนดาเพื่อแยกเวอร์ชัน CUDA ของเครื่องในเครื่องของคุณ
conda create -y -n llama-classification python=3.8
conda activate llama-classification
conda install cudatoolkit=11.7 -y -c nvidia
conda list cudatoolkit # to check what cuda version is installed (11.7)
pip install -r requirements.txt
Direct
คือการเปรียบเทียบความน่าจะเป็นแบบมีเงื่อนไข p(y|x)
ประมวลผลข้อมูลจากชุดข้อมูล Huggingface ล่วงหน้าโดยใช้สคริปต์ต่อไปนี้ จากนี้ไป เราจะใช้ชุดข้อมูล ag_news
python run_preprocess_direct_ag_news.py
python run_preprocess_direct_ag_news.py --sample=False --data_path=real/inputs_direct_ag_news.json # Use it for full evaluation
การอนุมานเพื่อคำนวณความน่าจะเป็นแบบมีเงื่อนไขโดยใช้ LLaMA และคลาสทำนาย
torchrun --nproc_per_node 1 run_evaluate_direct_llama.py
--data_path samples/inputs_direct_ag_news.json
--output_path samples/outputs_direct_ag_news.json
--ckpt_dir checkpoints/llama/7B
--tokenizer_path checkpoints/llama/tokenizer.model
Calibration
คือการปรับปรุงวิธีการโดยตรงด้วยวิธีการสอบเทียบ
torchrun --nproc_per_node 1 run_evaluate_direct_calibrate_llama.py
--direct_input_path samples/inputs_direct_ag_news.json
--direct_output_path samples/outputs_direct_ag_news.json
--output_path samples/outputs_direct_calibrate_ag_news.json
--ckpt_dir checkpoints/llama/7B
--tokenizer_path checkpoints/llama/tokenizer.model
Channel
คือการเปรียบเทียบความน่าจะเป็นแบบมีเงื่อนไข p(x|y)
ประมวลผลข้อมูลจากชุดข้อมูล Huggingface ล่วงหน้าโดยใช้สคริปต์ต่อไปนี้ จากนี้ไป เราจะใช้ชุดข้อมูล ag_news
python run_preprocess_channel_ag_news.py
python run_preprocess_channel_ag_news.py --sample=False --data_path=real/inputs_channel_ag_news.json # Use it for full evaluation
การอนุมานเพื่อคำนวณความน่าจะเป็นแบบมีเงื่อนไขโดยใช้ LLaMA และคลาสทำนาย
torchrun --nproc_per_node 1 run_evaluate_channel_llama.py
--data_path samples/inputs_channel_ag_news.json
--output_path samples/outputs_channel_ag_news.json
--ckpt_dir checkpoints/llama/7B
--tokenizer_path checkpoints/llama/tokenizer.model
generate
คุณสามารถใช้เวอร์ชันโดยตรงที่ประมวลผลล่วงหน้าได้ torchrun --nproc_per_node 1 run_evaluate_generate_llama.py
--data_path samples/inputs_direct_ag_news.json
--output_path samples/outputs_generate_ag_news.json
--ckpt_dir checkpoints/llama/7B
--tokenizer_path checkpoints/llama/tokenizer.model
ชุดข้อมูล | num_examples | เค | วิธี | ความแม่นยำ | เวลาอนุมาน |
---|---|---|---|---|---|
ag_news | 7600 | 1 | โดยตรง | 0.7682 | 00:38:40 |
ag_news | 7600 | 1 | โดยตรง+สอบเทียบ | 0.8567 | 00:38:40 |
ag_news | 7600 | 1 | ช่อง | 0.7825 | 00:38:37 |
การอ้างอิงงานของฉันยินดีเป็นอย่างยิ่งหากคุณใช้ codebase ของฉันในการค้นคว้า
@software{Lee_Simple_Text_Classification_2023,
author = {Lee, Seonghyeon},
month = {3},
title = {{Simple Text Classification Codebase using LLaMA}},
url = {https://github.com/github/sh0416/llama-classification},
version = {1.1.0},
year = {2023}
}