ในบล็อกนี้ฉันรู้สึกตื่นเต้นที่ได้แบ่งปันข้อมูลเชิงลึกเกี่ยวกับวิธีการที่พิถีพิถันเรารับการฝึกอบรมฐาน Amabri (Cognitive-Lab/Ambari-7b-Instruct-V0.1) และ Amabri สั่ง (Cognitive-Lab/Ambari-7b-Instruct-V0.1) นำเสนอเหลือบระดับสูงในกระบวนการของเราการบรรยายนี้ทำหน้าที่เป็นสารตั้งต้นในการเปิดเผยรายละเอียดทางเทคนิคทั้งหมดที่กำลังจะมาถึง-สุดยอดของการทดสอบและการประเมินผลอย่างกว้างขวาง คอยติดตามในขณะที่เราคลี่คลายความซับซ้อนที่นำไปสู่การสร้าง Amabri ซึ่งเป็นรูปแบบภาษาขนาดใหญ่ภาษากันนาดา-อังกฤษแบบโอเพ่นซอร์สที่เป็นนวัตกรรม
จุดประสงค์เบื้องหลัง Amabri
ในภูมิทัศน์แบบไดนามิกของแบบจำลองภาษาขนาดใหญ่ (LLMS) การสร้าง Amabri เกิดจากวัตถุประสงค์หลายแง่มุม:
ในขณะที่ LLMs ซึมซับการใช้งานหลักมากขึ้นโมเดลโอเพ่นซอร์สในขณะที่อุดมไปด้วยความรู้ระดับโลกส่วนใหญ่เกิดขึ้นจากการฝึกอบรมที่เน้นภาษาอังกฤษเป็นศูนย์กลาง Amabri ทำหน้าที่เป็นผู้บุกเบิกความคิดริเริ่มในการขยายขอบเขตนี้และปรับ LLMs ให้เป็นภาษาที่หลากหลาย
ในภูมิทัศน์ที่พัฒนาขึ้นของ LLMS ความต้องการข้อมูลการฝึกอบรมจำนวนมากตั้งแต่ 1 ล้านล้านถึง 10 ล้านล้านโทเค็นกลายเป็นบรรทัดฐาน อย่างไรก็ตามสิ่งนี้ก่อให้เกิดความท้าทายสำหรับภาษาที่มีทรัพยากรที่มีเอกสาร จำกัด ในการแสวงหาของเราเรามุ่งเน้นไปที่การปรับตัวของ LLM ที่ผ่านการฝึกอบรมมาก่อนเช่น Llama/Mistral เพื่อทำความเข้าใจความแตกต่างของภาษาใหม่-Kannada ในกรณีของ Amabri แม้จะมีภาษากันนาดาไม่ได้รับการจัดประเภทเป็นภาษาที่มีทรัพยากรต่ำมาก แต่ก็ทำหน้าที่เป็นผู้สมัครในอุดมคติในการทดสอบสมมติฐานและวิธีการของเรา การกำหนดขั้นตอนของการฝึกอบรมและ finetuning อย่างเข้มงวดเราได้กำหนดโทเค็นการฝึกอบรม 1 พันล้านโทสำหรับกระบวนการทั้งหมด
ต่อจากนั้นเราก็จัดทำชุดข้อมูลอย่างพิถีพิถันแจกจ่ายให้ตามลำดับและกำหนดขั้นตอนของกระบวนการของเรา:
วิธีการรอบคอบนี้วางรากฐานสำหรับการพัฒนาของ Amabri ซึ่งผลักดันขอบเขตของความสามารถในการปรับตัวทางภาษาภายในขอบเขตของ LLM
Tokenization องค์ประกอบที่สำคัญในประสิทธิภาพของแบบจำลองภาษาทำให้เกิดความท้าทายที่ไม่เหมือนใครสำหรับข้อความภาษากันนาดาภายในบริบทของ LLM โอเพนซอร์ส โมเดลที่มีอยู่จำนวนมากหันไปใช้โทเค็นระดับตัวละครอย่างไม่มีประสิทธิภาพโดยเฉพาะอย่างยิ่งในระหว่างการอนุมานส่งผลกระทบต่อประสิทธิภาพโดยรวม เพื่อแก้ไขปัญหานี้เราได้พัฒนารูปแบบโทเค็นแบบพิเศษสำหรับข้อความภาษากันนาดาโดยใช้ประโยคประโยค โมเดลนี้ถูกรวมเข้ากับ Tokenizer ฐาน Llama อย่างราบรื่นส่งผลให้คำศัพท์ที่ครอบคลุม 49,600 ขยายตัว 17,600
วิธีการของเราเกี่ยวข้องกับการฝึกอบรมโมเดล Tokenizer ในชุดข้อมูลที่แตกต่างกันสามชุดเผยให้เห็นผลลัพธ์ที่ดีที่สุดด้วยชุดข้อมูลที่ประกอบด้วยโทเค็น 100,000 ในขณะที่เราพัฒนา Amabri การวนซ้ำที่กำลังจะเกิดขึ้นจะมีกลยุทธ์การปรับแต่งโทเค็นโดยใช้ขนาดคำศัพท์ที่ลดลง 48,000 การปรับนี้ได้รับการตรวจสอบโดยข้อมูลเชิงลึกที่แบ่งปันโดย Andrej Karpathy ในโพสต์ Twitter ของเขา (Andrej Karpathy บน Twitter) มุ่งเน้นไปที่การเพิ่มประสิทธิภาพโดยรวม
อยากรู้อยากเห็นเพื่อสำรวจประสิทธิภาพที่เพิ่มขึ้นโดยตรง? คุณสามารถทดสอบ tokenizer ในการดำเนินการได้ที่นี่
การฝึกอบรมล่วงหน้า
ด้วย tokenizer ที่มีประสิทธิภาพขั้นตอนต่อไปของเราคือขั้นตอนการฝึกอบรมก่อนการฝึกอบรมโดยมีวัตถุประสงค์เพื่อทำความคุ้นเคยกับแบบจำลองด้วยคำศัพท์ที่ได้รับการตกแต่งใหม่ เพื่อเพิ่มประสิทธิภาพกระบวนการนี้เราได้จัดทำชุดข้อมูลที่ครอบคลุมจากแหล่งข้อมูลที่หลากหลาย โดยเฉพาะอย่างยิ่งเราสำรวจสองวิธีที่แตกต่างกันในช่วงนี้-การฝึกอบรมด้วย LORA และฝึกอบรมแบบจำลองอย่างเต็มที่ การตัดสินใจเชิงกลยุทธ์นี้เกิดจากความปรารถนาของเราที่จะมองเห็นเส้นทางที่ดีที่สุดสำหรับการพัฒนาของ Amabri
การเปรียบเทียบโดยละเอียดระหว่างวิธีการเหล่านี้จะเปิดตัวในไม่ช้า แต่เราได้รวบรวมการสังเกตเบื้องต้นบางอย่าง:
ในขณะที่เรารับทราบว่าการทดสอบอย่างต่อเนื่องของเราอาจปรับแต่งการสังเกตเหล่านี้ภาพรวมนี้ให้ข้อมูลเชิงลึกที่มีค่าเกี่ยวกับความคืบหน้าของเรา ขั้นตอนการฝึกอบรมก่อนใช้คลัสเตอร์ 2xA100 GPUs ใช้เวลาประมาณ 25 ชั่วโมงสำหรับการฝึกอบรมก่อนน้ำหนักเต็มในคลังข้อมูลที่สำคัญซึ่งประกอบด้วยโทเค็น 500 ล้านโท
เป็นมูลค่าการกล่าวถึงว่าน้ำหนักของรุ่นที่ปรับแต่งอย่างสมบูรณ์มีให้บริการบนใบหน้ากอดแล้วหรือยัง? -https://huggingface.co/cognitive-lab/ambari-7b-base-v0.1 ซึ่งมีส่วนร่วมในการแบ่งปันความรู้โอเพนซอร์ซภายในชุมชน
การทำนายโทเค็นสองภาษา
ขั้นตอนนี้ได้รับแรงบันดาลใจจากซีรี่ส์ Hathi Open โดย Sarvam.ai เป็นส่วนเสริมที่ไม่ได้วางแผนไว้ แต่เป็นจุดสำคัญในกลยุทธ์การฝึกอบรมของเรา การสร้างชุดข้อมูล 200,000 โทเค็นเราใช้ LORA สำหรับการปรับแต่งโดยมีจุดประสงค์เพื่อให้แบบจำลองมีความเข้าใจภาษาที่เพิ่มขึ้น ในขณะที่เราก้าวหน้าการมุ่งเน้นของเราเปลี่ยนไปสู่การปลูกฝัง 'ความรู้ระดับโลก' ในกันนาดา ด้วยความขาดแคลนเนื้อหากันนาดาโดยเฉพาะอย่างยิ่งเมื่อเทียบกับภาษาอังกฤษเราจึงหันไปแปล การใช้ประโยชน์จาก indictrans2 เราแปลเนื้อหาภาษาอังกฤษซึ่งส่วนใหญ่มาจาก Wikipedia เป็นภาษากันนาดา อย่างไรก็ตามแทนที่จะใช้คำทำนายแบบ monolingual แบบดั้งเดิมเราแนะนำวิธีการที่ก้าวล้ำ - การทำนายสองภาษาถัดจากการทำนายโทเค็น ประโยคสลับกันระหว่างกันนาดาและภาษาอังกฤษวิธีนี้บังคับให้โมเดลเข้าร่วมการเข้าร่วมข้อมูลระหว่างการทำนายครั้งต่อไป วิธีการที่เหมาะสมยิ่งนี้ไม่เพียง แต่ส่งเสริมการจัดแนวระหว่างกันนาดาและภาษาอังกฤษ แต่ยังมีความสมดุลในการสัมผัสกับโทเค็นภาษาฮินดีและภาษาอังกฤษในระหว่างการฝึกอบรม ขั้นตอนนี้เพิ่มความซับซ้อนเป็นพิเศษในการเดินทางของ Amabri
การแปล finetuning
ความตั้งใจที่อยู่เบื้องหลังขั้นตอนนี้คือการสร้างความสัมพันธ์ที่สอดคล้องกันระหว่างโทเค็นภาษาอังกฤษกับภาษากันนาดาที่สอดคล้องกัน การใช้การปรับระดับต่ำสำหรับการปรับแต่งเราพบกับความท้าทายบางอย่างโดยเฉพาะอย่างยิ่งกับการตัดสินใจใช้ค่าระดับต่ำมากซึ่งพิสูจน์ได้ว่ามีประสิทธิภาพน้อยลง ด้วยขนาดชุดข้อมูล 100,000 โทเค็นขั้นตอนนี้นำเสนอข้อ จำกัด และเรารับทราบถึงความจำเป็นในการปรับปรุง ในขณะที่เราปรับแต่งกระบวนการฝึกอบรมด้านนี้ความมุ่งมั่นของเราในการเพิ่มขีดความสามารถสองภาษาของ Amabri ยังคงไม่เปลี่ยนแปลง
สองภาษาสั่งการปรับแต่ง
ในช่วงที่สำคัญนี้เราใช้การปรับแต่งการปรับแต่งด้วยการปรับระดับต่ำเพื่อหล่อหลอมการตอบสนองของโมเดล การรวบรวมโครงสร้างเทมเพลตการแชทซึ่งประกอบด้วยคำแนะนำ/คำแนะนำของผู้ใช้และคำตอบที่สอดคล้องกัน วิธีการนี้เกี่ยวข้องกับการฝึกอบรมแบบจำลองเพื่อตอบสนองอย่างเชี่ยวชาญในภาษาอังกฤษหรือกันนาดาตามภาษาที่ระบุไว้ในพรอมต์หรือคำแนะนำของผู้ใช้
เทมเพลตแชท
< | user | >
{user prompt / instruction}
< | endoftext | >
< | assistant | >
{response}
< | endoftext | >ตัวอย่างเช่นได้รับพรอมต์ผู้ใช้เช่น
"ขอเคล็ดลับการศึกษา 10 ข้อในกันนาดา"
การตอบสนอง
แบบจำลองสร้างการตอบสนองอย่างราบรื่นในกันนาดารักษาความเชื่อมโยงทางภาษา เพื่อเสริมสร้างกระบวนการฝึกอบรมเราได้รวมชุดข้อมูลการเรียนการสอนต่าง ๆ รวมถึง Alpaca Instruct, Dolly Instruct และอื่น ๆ การใช้ประโยชน์จาก APIs การแปลเช่น Google, Azure และการปรับใช้แบบกำหนดเองของโมเดล IndicTrans2 จาก AI4BHARAT เราได้สร้างชุดข้อมูลคำแนะนำสองภาษาที่ครอบคลุม
ชุดข้อมูลซึ่งตอนนี้มีให้บริการต่อสาธารณชนบนหน้ากอดที่นี่รวมถึงสถานการณ์ทางภาษาที่หลากหลาย ในระหว่างการฝึกอบรมเราได้ดำเนินการปรับแต่งการปรับแต่งด้วยการเป็นตัวแทนที่แตกต่างกันสี่แบบ:
วิธีการที่พิถีพิถันนี้ไม่เพียง แต่คุ้นเคยกับแบบจำลองด้วยการตอบสนองในภาษาที่แตกต่างกัน แต่ยังวางรากฐานสำหรับการเรียนรู้งานข้ามภาษาต่างๆ
น้ำหนักของโมเดลที่ปรับแต่งอย่างประณีตนี้สามารถเข้าถึงได้บนใบหน้ากอดและสำหรับประสบการณ์จริงคุณสามารถสำรวจเวอร์ชันเชิงปริมาณ 4 บิตบน chat.cognitivelab.in
ในช่วงสุดยอดของการปรับแต่งแบบจำลองของเราเราได้เจาะลึกเข้าไปในโลกของการเพิ่มประสิทธิภาพการตั้งค่าโดยตรง (DPO) ทางเลือกเชิงกลยุทธ์นี้ได้รับแรงบันดาลใจจากความสำเร็จที่สังเกตได้ในโมเดลโอเพนซอร์ซที่หลากหลายไม่เพียง แต่มุ่งเป้าไปที่การจัดแนวโมเดลของเราเท่านั้น แต่ยังช่วยผลักดันการปรับปรุงในเกณฑ์มาตรฐาน เริ่มดำเนินการในการเดินทางครั้งนี้เราใช้ประโยชน์จากชุดข้อมูลมานุษยวิทยา/HH-RLHF แปลไปยังกันนาดาเราใช้แบบจำลองในการปรับแต่ง DPO อย่างละเอียดซึ่งกำลังได้รับการประเมินที่ครอบคลุมเพื่อวัดผลกระทบด้านประสิทธิภาพ
ขอบเขตของการปรับปรุง
เป็นสิ่งสำคัญที่จะต้องตระหนักว่าแบบจำลองที่ให้ไว้ในกรอบนี้ยังไม่ได้รับการล้างพิษ ในขณะที่พวกเขาแสดงความสามารถทางภาษาที่น่าประทับใจ แต่ก็มีศักยภาพในการสร้างเนื้อหาที่อาจถือว่าเป็นอันตรายหรือไม่เหมาะสม ผู้ใช้ควรใช้ดุลยพินิจและตรวจสอบผลลัพธ์ของโมเดลอย่างใกล้ชิดโดยเฉพาะอย่างยิ่งในแอพพลิเคชั่นสาธารณะหรือที่ละเอียดอ่อน
เรายินดีต้อนรับการมีส่วนร่วมเพื่อปรับปรุงและขยายโครงการนี้ หากคุณมีข้อเสนอแนะหรือการปรับปรุงโปรดเปิดปัญหาหรือส่งคำขอดึง
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต GNU GPL v3.0 สำหรับรายละเอียดโปรดดูไฟล์ License.md
สำคัญ: ใบอนุญาต GPL 3.0 ใช้กับซอร์สโค้ดและชุดข้อมูลที่ให้ไว้ในที่เก็บนี้เท่านั้น ในฐานะที่เป็นตัวบ่งชี้เป็นอนุพันธ์ของรุ่น Llama 2 ของ Meta มันขึ้นอยู่กับการออกใบอนุญาตดั้งเดิมของ Llama 2 ซึ่งไม่สามารถเปลี่ยนแปลงได้ ดังนั้นสำหรับรายละเอียดที่ครอบคลุมเกี่ยวกับการออกใบอนุญาตของแบบจำลองโปรดปรึกษาไฟล์ Llama2-License
ที่เก็บนี้ดึงแรงบันดาลใจจากที่เก็บต่อไปนี้: