LLM ขนาดเล็ก (7B และต่ำกว่า) ที่ปรับแต่งแล้วพร้อมสำหรับการผลิตสำหรับงานที่มีประโยชน์ที่หลากหลาย
งานที่รองรับ: การถอดความ การเปลี่ยนโทนของข้อความ การสร้างบทสรุปและหัวข้อจากบทสนทนา การดึงข้อมูล QA เสริม (WIP) -
เราปรับแต่ง LoRA ในรุ่น 3B และ 7B เชิงปริมาณ โมเดล 3B ได้รับการปรับแต่งอย่างละเอียดในงานเฉพาะ ในขณะที่รุ่น 7B ได้รับการปรับแต่งอย่างละเอียดในงานทั้งหมด
เป้าหมายคือเพื่อให้สามารถปรับแต่งและใช้โมเดลเหล่านี้ทั้งหมดกับฮาร์ดแวร์ระดับผู้บริโภคที่เรียบง่ายได้
pip install llm-toys
อาจไม่ทำงานหากไม่มี GPU ที่เปิดใช้งาน CUDA
หากคุณพบว่า "เวอร์ชันที่ติดตั้งของ bitsandbytes ได้รับการคอมไพล์โดยไม่รองรับ GPU" ด้วย bitsandbytes ให้ดูที่นี่ bitsandbytes-foundation/bitsandbytes#112
หรือลอง
cp <path_to_your_venv>/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cpu.so <path_to_your_venv>/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda117.so
โปรดทราบว่าเรากำลังใช้แพ็คเกจ Transformers และ Peft จากไดเร็กทอรีต้นทาง ไม่ใช่แพ็คเกจที่ติดตั้ง การหาปริมาณบิตแซนด์ไบต์ 4 บิตใช้งานได้กับสาขาหลักของหม้อแปลงและพีฟต์เท่านั้น เมื่อ Transformers เวอร์ชัน 4.31.0 และ peft เวอร์ชัน 0.4.0 ได้รับการเผยแพร่ไปยัง pypi เราจะใช้เวอร์ชันที่เผยแพร่
แบบอย่าง | ขนาด | งาน | โคลาบ |
---|---|---|---|
llm-toys/RedPajama-INCITE-Base-3B-v1-ถอดความ-โทน | 3B | การถอดความ การเปลี่ยนโทนเสียง | โน๊ตบุ๊ค |
llm-toys/RedPajama-INCITE-Base-3B-v1-บทสนทนาสรุปหัวข้อ | 3B | สรุปบทสนทนาและการสร้างหัวข้อ | โน๊ตบุ๊ค |
llm-toys/falcon-7b-paraphrase-tone-dialogue-summary-หัวข้อ | 7B | การถอดความ การเปลี่ยนโทนเสียง สรุปบทสนทนา และการสร้างหัวข้อ | โน๊ตบุ๊ค |
from llm_toys . tasks import Paraphraser
paraphraser = Paraphraser ()
paraphraser . paraphrase ( "Hey, can yuo hepl me cancel my last order?" )
# "Could you kindly assist me in canceling my previous order?"
paraphraser . paraphrase ( "Hey, can yuo hepl me cancel my last order?" , tone = "casual" )
# "Hey, could you help me cancel my order?"
paraphraser . paraphrase ( "Hey, can yuo hepl me cancel my last order?" , tone = "professional" )
# "I would appreciate guidance on canceling my previous order."
paraphraser . paraphrase ( "Hey, can yuo hepl me cancel my last order?" , tone = "witty" )
# "Hey, I need your help with my last order. Can you wave your magic wand and make it disappear?"
from llm_toys . tasks import SummaryAndTopicGenerator
summary_topic_generator = SummaryAndTopicGenerator ()
summary_topic_generator . generate_summary_and_topic (
"""
#Person1#: I'm so excited for the premiere of the latest Studio Ghibli movie!
#Person2#: What's got you so hyped?
#Person1#: Studio Ghibli movies are pure magic! The animation, storytelling, everything is incredible.
#Person2#: Which movie is it?
#Person1#: It's called "Whisper of the Wind." It's about a girl on a magical journey to save her village.
#Person2#: Sounds amazing! I'm in for the premiere.
#Person1#: Great! We're in for a visual masterpiece and a heartfelt story.
#Person2#: Can't wait to be transported to their world.
#Person1#: It'll be an unforgettable experience, for sure!
""" . strip ()
)
# {"summary": "#Person1# is excited for the premiere of the latest Studio Ghibli movie.
# #Person1# thinks the animation, storytelling, and heartfelt story will be unforgettable.
# #Person2# is also excited for the premiere.",
# "topic": "Studio ghibli movie"}
from llm_toys . tasks import GeneralTaskAssitant
from llm_toys . config import TaskType
gta = GeneralTaskAssitant ()
gta . complete ( TaskType . PARAPHRASE_TONE , "Hey, can yuo hepl me cancel my last order?" )
# "Could you assist me in canceling my previous order?"
gta . complete ( TaskType . PARAPHRASE_TONE , "Hey, can yuo hepl me cancel my last order?" , tone = "casual" )
# "Hey, can you help me cancel my last order?"
gta . complete ( TaskType . PARAPHRASE_TONE , "Hey, can yuo hepl me cancel my last order?" , tone = "professional" )
# "I would appreciate if you could assist me in canceling my previous order."
gta . complete ( TaskType . PARAPHRASE_TONE , "Hey, can yuo hepl me cancel my last order?" , tone = "witty" )
# "Oops! Looks like I got a little carried away with my shopping spree. Can you help me cancel my last order?"
chat = """
#Person1#: I'm so excited for the premiere of the latest Studio Ghibli movie!
#Person2#: What's got you so hyped?
#Person1#: Studio Ghibli movies are pure magic! The animation, storytelling, everything is incredible.
#Person2#: Which movie is it?
#Person1#: It's called "Whisper of the Wind." It's about a girl on a magical journey to save her village.
#Person2#: Sounds amazing! I'm in for the premiere.
#Person1#: Great! We're in for a visual masterpiece and a heartfelt story.
#Person2#: Can't wait to be transported to their world.
#Person1#: It'll be an unforgettable experience, for sure!
""" . strip ()
gta . complete ( TaskType . DIALOGUE_SUMMARY_TOPIC , chat )
# {"summary": "#Person1# tells #Person2# about the upcoming Studio Ghibli movie.
# #Person1# thinks it's magical and #Person2#'s excited to watch it.",
# "topic": "Movie premiere"}
การถอดความและการเปลี่ยนโทนเสียง: ประกอบด้วยข้อความและเวอร์ชันที่ถอดความ รวมถึงข้อความในโทนสีต่างๆ เช่น ไม่เป็นทางการ เป็นมืออาชีพ และมีไหวพริบ ใช้กับโมเดลเพื่อเรียบเรียงและเปลี่ยนโทนของข้อความ ข้อมูลถูกสร้างขึ้นโดยใช้ gpt-35-turbo ตัวอย่างข้อความการฝึกอบรมเล็กๆ น้อยๆ ยังได้หยิบมาจากคำถามโควราและชุดข้อมูล Squad_2
สรุปบทสนทนาและการสร้างหัวข้อ: ประกอบด้วยบทสนทนาพร้อมบทสรุปและหัวข้อ ข้อมูลการฝึกอบรมคือ ~1,000 บันทึกจากการแยกการฝึกอบรมของชุดข้อมูล Dialogsum นอกจากนี้ยังมีตัวอย่างประมาณ 20 รายการจากการแยก dev จุดข้อมูลที่มีการสรุปและหัวข้อที่ยาวกว่าจะได้รับการจัดลำดับความสำคัญในการสุ่มตัวอย่าง โปรดทราบว่าหัวข้อบางหัวข้อ (~30) ได้รับการแก้ไขด้วยตนเองในข้อมูลการฝึกอบรมขั้นสุดท้าย เนื่องจากหัวข้อเดิมที่มีป้ายกำกับเป็นเพียงคำศัพท์และไม่ได้อธิบายเพียงพอ
เพื่อดูตัวเลือกทั้งหมด
python llm_toys/train.py --help
เพื่อฝึกรูปแบบการถอดความและการเปลี่ยนโทนเสียง
python llm_toys/train.py
--task_type paraphrase_tone
--model_name meta-llama/Llama-2-7b
--max_length 128
--batch_size 8
--gradient_accumulation_steps 1
--learning_rate 1e-4
--num_train_epochs 3
--eval_ratio 0.05
วีไอพี
การประเมินเสร็จสิ้นใน 500 บันทึกจากการแยกการทดสอบ Dialogsum
# llm-toys/RedPajama-INCITE-Base-3B-v1-dialogue-summary-topic
{ "rouge1" : 0.453 , "rouge2" : 0.197 , "rougeL" : 0.365 , "topic_similarity" : 0.888 }
# llm-toys/falcon-7b-paraphrase-tone-dialogue-summary-topic
{ 'rouge1' : 0.448 , 'rouge2' : 0.195 , 'rougeL' : 0.359 , 'topic_similarity' : 0.886 }