การแสวงหาผลลัพธ์ที่สามารถทำซ้ำได้อย่างสมบูรณ์แบบจาก Large Language Models ได้จุดประกายการถกเถียงอย่างเข้มข้นในชุมชนนักพัฒนา ในขณะที่การตั้งค่าอุณหภูมิเป็นศูนย์ควรจะสร้างผลลัพธ์ที่เหมือนกันสำหรับข้อมูลนำเข้าที่เหมือนกันในทางทฤษฎี แต่ความเป็นจริงกลับซับซ้อนกว่านั้นมาก
ความแตกต่างระหว่าง SaaS และโมเดลท้องถิ่น
ความแตกต่างที่สำคัญปรากฏขึ้นระหว่าง LLMs บนคลาวด์และที่โฮสต์ในท้องถิ่น การสนทนาในชุมชนเผยให้เห็นว่าปัญหาความแน่นอนหลายอย่างเกิดจากการใช้งาน Software-as-a-Service มากกว่าข้อจำกัดพื้นฐานของ LLM การปรับใช้ในท้องถิ่นที่มีการกำหนดค่าฮาร์ดแวร์และซอฟต์แวร์คงที่สามารถบรรลุความสม่ำเสมอที่มากกว่า เนื่องจากการดำเนินการทางคณิตศาสตร์พื้นฐานยังคงเสถียรเมื่อปัจจัยสิ่งแวดล้อมถูกควบคุม
ผู้ให้บริการคลาวด์เผชิญกับความท้าทายที่เป็นเอกลักษณ์ในการรักษาความแน่นอนในระบบกระจาย การกระจายภาระงาน ความแตกต่างของฮาร์ดแวร์ และการอัปเดตโครงสร้างพื้นฐาน ล้วนมีส่วนทำให้เกิดความแตกต่างเล็กน้อยในเส้นทางการคำนวณ แม้ว่าจะใช้พรอมต์เหมือนกันและการตั้งค่าอุณหภูมิศูนย์
ปัจจัยทางเทคนิคที่ส่งผลต่อความแน่นอนของ LLM:
- ความไม่สอดคล้องของจุดทศนิยม: การดำเนินการ tensor แบบขนานอาจทำงานในลำดับที่แตกต่างกัน
- ความแตกต่างของฮาร์ดแวร์: GPU , CPU และไดรเวอร์ที่แตกต่างกันให้ผลลัพธ์การคำนวณเชิงตัวเลขที่หลากหลาย
- การประมวลผลแบบกลุ่ม: คำขอแบบขนานหลายรายการส่งผลต่อการจัดเรียงหน่วยความจำและเส้นทางการคำนวณ
- การเปลี่ยนแปลงของ software stack: การอัปเดตไลบรารีและการปรับปรุงประสิทธิภาพของเฟรมเวิร์กนำมาซึ่งความแปรปรวน
- ความซับซ้อนของโครงสร้างพื้นฐาน: การกระจายโหลดในระบบกระจายสร้างความไม่สอดคล้อง
ฮาร์ดแวร์และคณิตศาสตร์จุดทศนิยมสร้างความวุ่นวาย
ความเป็นจริงทางเทคนิคเบื้องหลังพฤติกรรมที่ไม่แน่นอนอยู่ในปฏิสัมพันธ์ที่ซับซ้อนของสถาปัตยกรรมฮาร์ดแวร์และการคำนวณเชิงตัวเลข GPU ที่แตกต่างกัน การกำหนดค่า CPU และแม้แต่การปรับแต่งคอมไพเลอร์สามารถสร้างการคำนวณจุดทศนิยมที่แตกต่างกันเล็กน้อย ความแตกต่างเล็กๆ เหล่านี้แพร่กระจายผ่านชั้นของเครือข่ายประสาทเทียม ซึ่งอาจนำไปสู่การเลือกโทเค็นที่แตกต่างกัน
การประมวลผลแบบขนานทำให้ความแน่นอนซับซ้อนยิ่งขึ้น เมื่อ LLMs จัดการคำขอหลายรายการพร้อมกันผ่านการจัดกลุ่ม ลำดับของการดำเนินการและการจัดวางหน่วยความจำสามารถส่งผลต่อผลลัพธ์สุดท้าย แม้แต่การดำเนินการทางคณิตศาสตร์ที่เหมือนกันอาจดำเนินการในลำดับที่แตกต่างกันในเธรดฮาร์ดแวร์ ทำให้เกิดความแตกต่างที่เล็กแต่สำคัญ
นี่เป็นปัญหาของ SaaS ไม่ใช่ปัญหาของ LLM หากคุณมี LLM ในท้องถิ่นที่ไม่มีใครอัปเกรดเบื้องหลัง มันจะคำนวณสิ่งเดียวกันในข้อมูลนำเข้าเดียวกัน
คำถามที่กว้างขึ้นเกี่ยวกับความแน่นอนที่มีความหมาย
นอกเหนือจากความท้าทายในการใช้งานทางเทคนิค ชุมชนยังตั้งคำถามที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับความแน่นอนหมายความว่าอย่างไรสำหรับแอปพลิเคชัน LLM แม้ว่าพรอมต์เหมือนกันจะสร้างผลลัพธ์เหมือนกัน ลักษณะทางสถิติของโมเดลภาษาหมายความว่าความแตกต่างเล็กน้อยในการใช้คำสามารถให้ผลลัพธ์ที่แตกต่างกันอย่างมาก
การสะสมบริบทนำเสนอความซับซ้อนอีกชั้นหนึ่ง การโต้ตอบ LLM ในทางปฏิบัติส่วนใหญ่เกี่ยวข้องกับการสร้างประวัติการสนทนา ทำให้ไม่น่าจะเป็นไปได้ที่ผู้ใช้จะพบเงื่อนไขข้อมูลนำเข้าที่เหมือนกันสองครั้ง คุณค่าของความแน่นอนที่เข้มงวดลดลงเมื่อรูปแบบการใช้งานในโลกจริงมีความแตกต่างโดยธรรมชาติ
วิธีแก้ไขเพื่อปรับปรุงความแน่นอน:
- อินสแตนซ์เฉพาะ: การปรับใช้แบบส่วนตัวช่วยให้ควบคุมสภาพแวดล้อมได้มากขึ้น
- การโฮสต์โมเดลในเครื่อง: การกำหนดค่าฮาร์ดแวร์/ซอฟต์แวร์แบบคงที่ช่วยลดความแปรปรวน
- การประมวลผลแบบขนานที่จำกัด: การลดขนาดแบทช์และการดำเนินการแบบขนาน
- เอาต์พุตที่มีโครงสร้าง: การใช้การตอบสนองแบบสคีมาเพื่อจำกัดความแปรปรวน
- การตรวจสอบความถูกต้องที่แข็งแกร่ง: การออกแบบระบบให้จัดการกับความแปรปรวนของเอาต์พุตได้อย่างเหมาะสม
การตอบสนองของอุตสาหกรรมและโซลูชันที่ปฏิบัติได้
ผู้ให้บริการ LLM รายใหญ่ยอมรับข้อจำกัดเหล่านี้อย่างเปิดเผย OpenAI, Anthropic และ Google ล้วนอธิบายระบบของพวกเขาว่าเป็นแบบแน่นอนเป็นส่วนใหญ่มากกว่าการรับประกันการทำซ้ำที่สมบูรณ์แบบ การประเมินที่ซื่อสัตย์นี้สะท้อนถึงการแลกเปลี่ยนทางวิศวกรรมระหว่างการปรับแต่งประสิทธิภาพและความแน่นอนที่เข้มงวด
สำหรับแอปพลิเคชันที่ต้องการความสม่ำเสมอมากขึ้น มีวิธีแก้ไขหลายอย่าง อินสแตนซ์เฉพาะ การปรับใช้ส่วนตัว และรูปแบบผลลัพธ์ที่มีโครงสร้างสามารถปรับปรุงการทำซ้ำได้ อย่างไรก็ตาม โซลูชันเหล่านี้มักมาพร้อมกับการลดประสิทธิภาพและความซับซ้อนที่เพิ่มขึ้น
ฉันทามติของชุมชนแนะนำให้ยอมรับความแตกต่างที่ควบคุมได้มากกว่าการต่อสู้กับมัน แอปพลิเคชันสมัยใหม่ได้รับประโยชน์มากกว่าจากระบบตรวจสอบที่แข็งแกร่งและการจัดการความแตกต่างของผลลัพธ์อย่างสง่างามมากกว่าการแสวงหาความแน่นอนที่สมบูรณ์แบบ แนวทางนี้ยอมรับว่าความยืดหยุ่นเดียวกันที่ทำให้ LLMs สามารถจัดการข้อมูลนำเข้าในโลกจริงที่หลากหลายยังทำให้การทำซ้ำที่แน่นอนเป็นเรื่องท้าทายทางเทคนิคและอาจเป็นผลเสียได้
อ้างอิง: Understanding why deterministic output from LLMs is nearly impossible