TScale ซึ่งเป็นเฟรมเวิร์คใหม่สำหรับการฝึกฝนและการอนุมานแบบ transformer ที่เขียนด้วย C++ และ CUDA ได้จุดประกายการถกเถียงในหมู่นักพัฒนาที่กำลังตรวจสอบคุณภาพโค้ดและทางเลือกในการพัฒนา โครงการนี้มีเป้าหมายที่จะทำให้การฝึกฝนโมเดลภาษาขนาดใหญ่ (LLM) สามารถเข้าถึงได้มากขึ้นบนฮาร์ดแวร์สำหรับผู้บริโภคทั่วไป แต่ข้อเสนอแนะเบื้องต้นจากชุมชนบ่งชี้ว่าอาจมีการเปิดตัวเร็วเกินไป
ที่เก็บโค้ดซึ่งสัญญาว่าจะมีสถาปัตยกรรม transformer ที่ได้รับการปรับให้เหมาะสมพร้อมการลู่เข้าที่เร็วขึ้นและต้นทุนความสนใจที่ลดลง ได้ดึงดูดความสนใจด้วยข้อกล่าวอ้างที่ทะเยอทะยานเกี่ยวกับความสามารถในการฝึกฝน ตามเอกสารประกอบ TScale สามารถฝึกฝนโมเดลขนาด 1.5B พารามิเตอร์ด้วยเงินประมาณ 500 ดอลลาร์สหรัฐ โดยใช้ spot instances หลายตัวที่มี GPU NVIDIA 4090 นอกจากนี้ยังแนะนำเทคนิค 1T index ที่น่าสนใจซึ่งรายงานว่าช่วยลด perplexity ได้อย่างมีนัยสำคัญในโมเดลที่เล็กกว่า
คุณสมบัติหลักของ TScale:
- สถาปัตยกรรม transformer ที่ได้รับการปรับให้เหมาะสมด้วยการลู่เข้าที่เร็วขึ้นและลดต้นทุนความสนใจลงประมาณ 2 เท่า
- รองรับความแม่นยำของค่าน้ำหนักและการกระตุ้นแบบจำลองในรูปแบบ fp8 และ int8
- ปรับให้เหมาะสมกับ GPU ของ NVIDIA สำหรับผู้บริโภคด้วยการฝึกอบรมความแม่นยำที่ลดลงอย่างรวดเร็ว
- การถ่ายโอนไปยัง CPU เพื่อลดความต้องการหน่วยความจำของ GPU
- การฝึกอบรมแบบกระจายที่ซิงโครไนซ์บนโฮสต์ที่มีการกำหนดค่าเดียวกัน
- การบีบอัดเกรเดียนต์แบบ 1 บิตสำหรับการเชื่อมต่ออีเทอร์เน็ตทั่วไป
- การฝึกอบรมแบบกระจายแบบอะซิงโครนัสบนโฮสต์ตามต้องการโดยมีการรับส่งข้อมูลเครือข่ายน้อยที่สุด
ประสิทธิภาพที่อ้างถึง:
- การฝึกอบรมแบบจำลอง 1.5B: 2 วันที่ราคา 500 ดอลลาร์สหรัฐบนอินสแตนซ์แบบสปอตด้วย GPU 4090
- แบบจำลอง 125M ที่มีดัชนี 1T: ลดความซับซ้อน (Perplexity) จาก 19.02 เหลือ 2.28
ความท้าทายของระบบการสร้าง
หนึ่งในปัญหาเร่งด่วนที่สมาชิกในชุมชนยกขึ้นมาคือการขาดไฟล์ระบบการสร้างที่กล่าวถึงในเอกสาร ผู้ใช้รายงานว่า fo.cpp ซึ่งเป็นตัวสร้างไฟล์โซลูชัน/การสร้างแบบเบาที่อธิบายไว้ในคำแนะนำการตั้งค่า ไม่มีอยู่จริงในที่เก็บโค้ด ทำให้ไม่สามารถทำตามกระบวนการสร้างตามที่ระบุไว้ได้
ผมกำลังพยายามรันโค้ดนี้แต่ fo.cpp ไม่มีอยู่ในที่เก็บโค้ด ผมได้สร้างปัญหาไว้ที่ https://github.com/Foreseerr/TScale/issues/1
ความไม่สอดคล้องนี้บ่งชี้ว่าโครงการอาจถูกเผยแพร่ก่อนที่จะพร้อมสำหรับการใช้งานสาธารณะอย่างเต็มที่ โดยนักพัฒนาหลายคนคาดการณ์ว่ามันอาจเป็นโครงการสุดสัปดาห์ที่ถูกแชร์เร็วเกินไป
การประดิษฐ์ล้อขึ้นมาใหม่
อีกประเด็นที่มีการโต้เถียงในหมู่นักพัฒนาคือการที่ TScale ได้พัฒนาองค์ประกอบพื้นฐานเช่นตัวแยกวิเคราะห์ไฟล์กำหนดค่าแบบคีย์-ค่า ซึ่งหลายคนเห็นว่าไม่จำเป็นเมื่อพิจารณาถึงความพร้อมใช้งานของไลบรารีที่มีอยู่แล้ว สิ่งนี้ได้จุดประกายการอภิปรายที่กว้างขึ้นเกี่ยวกับการจัดการการพึ่งพาในโปรเจกต์ C/C++
นักพัฒนาบางคนโต้แย้งว่าแนวโน้มที่จะสร้างยูทิลิตี้ของตัวเองแทนที่จะใช้ไลบรารีที่มีอยู่แล้วนั้นฝังลึกในวัฒนธรรม C/C++ ไม่จำเป็นต้องเป็นเพราะข้อจำกัดทางเทคนิคแต่เป็นความชอบทางวัฒนธรรมมากกว่า แม้ว่าเครื่องมือสมัยใหม่เช่น CMake ได้ทำให้การจัดการการพึ่งพาง่ายขึ้น แต่การปฏิบัติในการลดการพึ่งพาภายนอกยังคงเป็นเรื่องปกติ
นักพัฒนาคนหนึ่งแนะนำว่าแนวทางนี้อาจได้รับอิทธิพลจากความกังวลเกี่ยวกับห่วงโซ่การพึ่งพา:
การพึ่งพามักจะมีการพึ่งพาของตัวเอง (ซึ่งมี...) ไม่ใช่ความยากลำบากมากเท่ากับการตระหนักถึงมันที่ทำให้ผมลดการพึ่งพาของผมให้น้อยที่สุด
คนอื่น ๆ คาดการณ์ว่ารูปแบบโค้ดบางอย่างอาจเป็นอาการของการเขียนโค้ดที่ได้รับความช่วยเหลือจาก LLM ซึ่งเครื่องมือ AI บางครั้งจะใช้วิธีแก้ปัญหาที่ซับซ้อนสำหรับปัญหาที่สามารถแก้ไขได้ด้วยไลบรารีที่มีอยู่แล้ว
1T Index ที่ลึกลับ
การกล่าวถึงเทคนิค 1T index ของโครงการได้สร้างความอยากรู้อยากเห็น TScale อ้างว่าแนวทางนี้ช่วยให้สามารถฝึกฝนโมเดล 1T ที่บ้านได้โดยการสร้างโมเดลด้วย 1T index ซึ่งเราค้นหาสำหรับทุก token เพื่อทำการทำนายด้วยโมเดลที่เล็กกว่ามาก ตามเอกสาร การสร้างนี้ให้ผลลัพธ์ที่ยอดเยี่ยมในแง่ของ log loss และ perplexity โดยมีการรายงานการลด perplexity ลง 8 เท่าเมื่อใช้โมเดลขนาด 125M พารามิเตอร์กับ index
สมาชิกในชุมชนแสดงความสนใจที่จะเข้าใจเทคนิคนี้ให้ดีขึ้น โดยบางคนคาดการณ์ว่ามันอาจเกี่ยวข้องกับการทำ term indexing คล้ายกับวิธีการที่อธิบายไว้ในวรรณกรรมทางวิชาการเกี่ยวกับการให้เหตุผลอัตโนมัติ ซึ่งอาจถูกนำมาใช้เป็นโครงสร้าง prefix-tree ที่ช่วยในการรู้จำการทำให้เป็นทั่วไป
![]() |
---|
กราฟเส้นนี้แสดงแนวโน้มของข้อมูลที่อาจสัมพันธ์กับข้อกล่าวอ้างเรื่องประสิทธิภาพของเทคนิคดัชนี 1T ของ TScale |
คอขวดเครือข่ายในการอนุมานแบบกระจาย
การอภิปรายยังเกี่ยวข้องกับความท้าทายของการอนุมานแบบกระจาย โดยเฉพาะอย่างยิ่งเกี่ยวกับคอขวดของเครือข่าย ในขณะที่ TScale กล่าวถึงความสามารถในการฝึกฝนแบบกระจาย รวมถึงการฝึกฝนแบบกระจายแบบอะซิงโครนัสบนโฮสต์ที่แยกกันทางภูมิศาสตร์ ชุมชนได้สังเกตว่าข้อจำกัดของเครือข่ายยังคงเป็นความท้าทายที่สำคัญสำหรับระบบ LLM แบบกระจายใด ๆ
ดังที่ผู้แสดงความคิดเห็นคนหนึ่งกล่าวไว้อย่างกระชับ: ไปป์ไลน์การฝึกฝนหรือการอนุมาน LLM ที่ก้าวหน้าเพียงพอจะพบว่าคอขวดที่แท้จริงคือเครือข่าย!
โดยสรุป แม้ว่า TScale จะนำเสนอแนวคิดที่น่าสนใจในการทำให้การฝึกฝน LLM สามารถเข้าถึงได้มากขึ้นบนฮาร์ดแวร์สำหรับผู้บริโภค การตอบสนองเบื้องต้นจากชุมชนบ่งชี้ว่าอาจต้องมีการพัฒนาเพิ่มเติมก่อนที่จะสามารถทำตามสัญญาได้ การอภิปรายเน้นย้ำทั้งความท้าทายทางเทคนิคในการสร้างเฟรมเวิร์คการฝึกฝน LLM ที่มีประสิทธิภาพและแง่มุมทางวัฒนธรรมของการพัฒนาซอฟต์แวร์ในระบบนิเวศ C/C++
อ้างอิง: TScale