กอดหน้า Preprint | กระดาษ | การสาธิต

แบบจำลองภาษาขนาดใหญ่ (LLMS) มีการประมวลผลภาษาธรรมชาติขั้นสูงอย่างมีนัยสำคัญ แต่ความคืบหน้าของพวกเขายังไม่เท่ากันในภาษา ในขณะที่ LLMs ส่วนใหญ่ได้รับการฝึกฝนในภาษาที่มีทรัพยากรสูงเช่นภาษาอังกฤษ แต่รุ่นที่มีหลายภาษาก็มีประสิทธิภาพต่ำกว่าภาษาเดียว นอกจากนี้แง่มุมของรากฐานหลายภาษาของพวกเขาบางครั้ง จำกัด ผลพลอยได้ที่พวกเขาผลิตเช่นความต้องการการคำนวณและระบบการออกใบอนุญาต ในการศึกษานี้เราจัดทำเอกสารการพัฒนารูปแบบการเปิดก่อตั้งแบบเปิดที่เหมาะสำหรับใช้ในการตั้งค่าทรัพยากรต่ำข้อ จำกัด และประโยชน์ของพวกเขา นี่คือ Teenytinyllama Pair: สองรุ่นกะทัดรัดสำหรับการสร้างข้อความโปรตุเกสของบราซิล เราปล่อยให้พวกเขาภายใต้ใบอนุญาต Apache 2.0 ที่ได้รับอนุญาตบน GitHub และ Hugging Face สำหรับการใช้งานชุมชนและการพัฒนาต่อไป
การใช้งานหลักของ Teenytinyllama คือการค้นคว้าความท้าทายที่เกี่ยวข้องกับการพัฒนาแบบจำลองภาษาสำหรับภาษาที่มีทรัพยากรต่ำ จุดตรวจที่บันทึกไว้ในระหว่างการฝึกอบรมมีวัตถุประสงค์เพื่อให้การตั้งค่าควบคุมสำหรับการทดลองทางวิทยาศาสตร์ นอกจากนี้คุณยังสามารถปรับแต่งและปรับ Teenytinyllama สำหรับการปรับใช้ต่อไปตราบใดที่การใช้งานของคุณเป็นไปตามใบอนุญาต Apache 2.0 หากคุณตัดสินใจที่จะใช้ teenytinyllama ที่ผ่านการฝึกอบรมมาก่อนเป็นพื้นฐานสำหรับแบบจำลองที่ได้รับการปรับแต่งของคุณโปรดดำเนินการประเมินความเสี่ยงและอคติของคุณเอง
Teenytinyllama ไม่ได้มีไว้สำหรับการติดตั้ง ไม่ใช่ผลิตภัณฑ์และไม่ควรใช้สำหรับการโต้ตอบของมนุษย์
โมเดล Teenytinyllama เป็นภาษาโปรตุเกสของบราซิลเท่านั้นและไม่เหมาะสำหรับการแปลหรือสร้างข้อความในภาษาอื่น ๆ
Teenytinyllama ยังไม่ได้รับการปรับแต่งสำหรับบริบทดาวน์สตรีมซึ่งแบบจำลองภาษามักถูกนำไปใช้
เช่นเดียวกับรูปแบบภาษาอื่น ๆ เกือบทั้งหมดที่ได้รับการฝึกฝนในชุดข้อมูลข้อความขนาดใหญ่ที่ถูกคัดลอกมาจากเว็บคู่ TTL แสดงพฤติกรรมที่ไม่ได้ทำให้พวกเขาเป็นโซลูชันนอกกรอบไปยังแอปพลิเคชันในโลกแห่งความเป็นจริงจำนวนมากโดยเฉพาะอย่างยิ่งผู้ที่ต้องการการสร้างข้อความที่ไม่น่าเชื่อถือ แบบจำลองของเราทั้งหมดอยู่ภายใต้สิ่งต่อไปนี้:
ภาพหลอน: โมเดลนี้สามารถสร้างเนื้อหาที่สามารถเข้าใจผิดสำหรับความจริง แต่อันที่จริงแล้วทำให้เข้าใจผิดหรือเป็นเท็จทั้งหมดเช่นภาพหลอน
อคติและความเป็นพิษ: แบบจำลองนี้สืบทอดแบบแผนทางสังคมและประวัติศาสตร์จากข้อมูลที่ใช้ในการฝึกอบรม ด้วยอคติเหล่านี้แบบจำลองสามารถผลิตเนื้อหาที่เป็นพิษได้เช่นอันตรายที่น่ารังเกียจหรือเป็นอันตรายต่อบุคคลกลุ่มหรือชุมชน
รหัสที่ไม่น่าเชื่อถือ: โมเดลอาจสร้างตัวอย่างโค้ดและข้อความที่ไม่ถูกต้อง การสร้างรหัสเหล่านี้ไม่ควรถือว่าเป็นคำแนะนำหรือวิธีแก้ปัญหาที่ถูกต้อง
ข้อ จำกัด ด้านภาษา: โมเดลได้รับการออกแบบมาเพื่อทำความเข้าใจภาษาโปรตุเกสมาตรฐานบราซิลเป็นหลัก ภาษาอื่น ๆ อาจท้าทายความเข้าใจซึ่งนำไปสู่การตีความที่ผิดพลาดหรือข้อผิดพลาดในการตอบสนอง
การทำซ้ำและการใช้คำกริยา: โมเดลอาจติดอยู่กับลูปการทำซ้ำ (โดยเฉพาะอย่างยิ่งหากการลงโทษซ้ำในระหว่างรุ่นถูกตั้งค่าเป็นค่าน้อย) หรือสร้างคำตอบ verbose ที่ไม่เกี่ยวข้องกับพรอมต์ที่ได้รับ
ดังนั้นแม้ว่าโมเดลของเราจะได้รับการปล่อยตัวด้วยใบอนุญาตที่ได้รับอนุญาต แต่เราขอแนะนำให้ผู้ใช้ทำการวิเคราะห์ความเสี่ยงในแบบจำลองเหล่านี้หากตั้งใจจะใช้สำหรับแอปพลิเคชันจริงและยังมีมนุษย์ควบคุมผลลัพธ์ของโมเดลเหล่านี้ในแอปพลิเคชันที่พวกเขาจะโต้ตอบกับผู้ชม
ที่เก็บนี้มีซอร์สโค้ดที่ใช้ฝึกอบรมโมเดลของเรา เราสร้างการใช้งานรหัสทั้งหมดของเราโดยใช้ไลบรารีที่เชื่อมโยงกับระบบนิเวศใบหน้ากอดเช่นหม้อแปลงหม้อแปลงชุดข้อมูลโทเคนิเซอร์และเร่งความเร็วซึ่งช่วยให้การปรับเปลี่ยนได้ง่ายการปรับตัวและการปรับขนาดเพิ่มเติม สคริปต์การฝึกอบรมและการประเมินผลของเราเป็นไปตามโครงสร้าง pytorch มาตรฐานในขณะที่เราใช้ CodeCarbon และน้ำหนักและอคติสำหรับการติดตามการทดลองของเรา
ข้อกำหนดทั้งหมดแสดงอยู่ในไฟล์ข้อกำหนด. txt (เวอร์ชัน Python: 3.10.12)
การฝึกอบรมล่วงหน้า: โฟลเดอร์การฝึกอบรมก่อนมีสองสคริปต์หลัก: pre-training.py และ train-sentencepiece.py สคริปต์เหล่านี้ถูกใช้เพื่อฝึกทั้งสองประโยค tokenizer และโมเดล คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเรียกใช้ที่นี่
การปรับแต่ง: โฟลเดอร์ปรับแต่งมีสคริปต์การปรับ supervised-fine-tuning.py สคริปต์นี้ใช้ในการปรับแต่งรุ่น 460M ของเราในชุดข้อมูล Corder-Aira เวอร์ชัน 2.0 คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเรียกใช้ที่นี่
การประเมินผล: โฟลเดอร์การประเมินผลมีผลลัพธ์ของการประเมินของเรา (eval.md) นอกจากนี้ยังมีสคริปต์ evaluation.py เพื่อให้คุณประเมินจุดตรวจใด ๆ ของแบบจำลองหรือโมเดลของเราที่คุณอาจมาฝึกอบรม สมุดบันทึก lm-evaluation-harness-pt.ipynb แสดงวิธีการประเมินแบบจำลองในเวอร์ชัน Laiveiet ของ LM-Evaluation-Harness คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเรียกใช้ที่นี่ การประเมินผลของเกณฑ์มาตรฐานโปรตุเกสมีอยู่ในโฟลเดอร์ใหม่
ยูทิลิตี้: โฟลเดอร์ยูทิลิตี้มีสคริปต์เสริม (ข้อมูลเพิ่มเติมที่นี่):
chinchilla-estimation.py ช่วยให้คุณประเมินขนาดชุดข้อมูลที่เกี่ยวข้องกับขนาดของรุ่นโดยใช้กระดาษ Chinchilla เป็นข้อมูลอ้างอิงquantize.py จะทำการวัดปริมาณ AWQ 4 บิตในรุ่นtokenize-dataset.py จะสร้างชุดข้อมูลข้อความที่เป็นโทเค็นและอัปโหลดไปยังฮับใบหน้ากอด ในโฟลเดอร์ img คุณจะพบโฟลเดอร์ย่อยชื่อ logs and plots ในนั้นคุณสามารถค้นหาบันทึกและแปลงทั้งหมด (และสคริปต์ที่ใช้ในการทำพล็อต) ที่เราใช้ในการพิมพ์ล่วงหน้าของเรา
@misc{correa24ttllama,
title = {TeenyTinyLlama: open-source tiny language models trained in Brazilian Portuguese},
author = {Corr{ ^ e}a, Nicholas Kluge and Falk, Sophia and Fatimah, Shiza and Sen, Aniket and De Oliveira, Nythamar},
journal={arXiv preprint arXiv:2401.16640},
year={2024}
}
@misc{correa24ttllama,
doi = {10.1016/j.mlwa.2024.100558},
url = {https://www.sciencedirect.com/science/article/pii/S2666827024000343},
title = {TeenyTinyLlama: open-source tiny language models trained in Brazilian Portuguese},
author = {Corr{ ^ e}a, Nicholas Kluge and Falk, Sophia and Fatimah, Shiza and Sen, Aniket and De Oliveira, Nythamar},
journal={Machine Learning With Applications},
publisher = {Springer},
year={2024}
}งานวิจัยนี้ได้รับทุนจาก Raies (Rede de Inteligênciaética e Segura) Raies เป็นโครงการที่ได้รับการสนับสนุนโดย fapergs (Fundação de Amparo à pesquisa do estado do Rio grande do sul) และ cnpq (Conselho nacional de desenvolvimento científico e tecnológico)
Teenytinyllama ได้รับใบอนุญาตภายใต้ใบอนุญาต Apache เวอร์ชัน 2.0 ดูไฟล์ใบอนุญาตสำหรับรายละเอียดเพิ่มเติม