• DSPy (Declarative Self-improving Python) เป็นเฟรมเวิร์กที่ออกแบบมาเพื่อควบคุมภาษาจำลอง (LM) ผ่านการเขียนโปรแกรม
  • สามารถสร้างระบบ AI แบบโมดูลาร์ได้อย่างรวดเร็ว ตั้งแต่ตัวจำแนกอย่างง่ายไปจนถึงไปป์ไลน์ RAG ที่ซับซ้อนและเอเจนต์ลูป พร้อมทั้งมีอัลกอริทึมสำหรับปรับแต่งพรอมป์ต์และค่าน้ำหนัก
  • แทนที่จะใช้พรอมป์ต์ที่ไม่เสถียรแบบเดิม สามารถเขียนโค้ด Python ที่ประกอบต่อกันได้ เพื่อสร้างระบบ AI แบบโมดูลาร์อย่างรวดเร็ว และฝึกให้ LM สร้างผลลัพธ์คุณภาพสูงได้
  • ใช้ Module เพื่ออธิบายพฤติกรรมของ AI ด้วยโค้ดแทนสตริง
    • การสร้างระบบ AI ที่เชื่อถือได้จำเป็นต้องทำซ้ำและปรับปรุงได้อย่างรวดเร็ว
    • แต่การดูแลรักษาพรอมป์ต์ทำได้ยาก เพราะทุกครั้งที่เปลี่ยน LM, เมตริก หรือไปป์ไลน์ ก็ต้องแก้สตริงหรือข้อมูลตามไปด้วย
    • DSPy ถูกพัฒนาขึ้นเพื่อแยกการนิยามระบบ LM ออกจากตัวเลือกที่ซับซ้อนซึ่งผูกกับ LM เฉพาะตัวหรือกลยุทธ์การพรอมป์ต์
    • แนวทางการเขียนโปรแกรมของ DSPy
      • DSPy เปลี่ยนจุดเน้นจากการปรับแต่งสตริงพรอมป์ต์ ไปสู่การเขียนโปรแกรมด้วยโมดูลภาษาธรรมชาติแบบมีโครงสร้างและเชิงประกาศ
      • กำหนดพฤติกรรมอินพุต/เอาต์พุตขององค์ประกอบ AI ทุกส่วนในระบบเป็น signature และเลือกโมดูลเพื่อกำหนดกลยุทธ์การเรียกใช้ LM
      • DSPy สามารถขยาย signature ให้เป็นพรอมป์ต์ และพาร์สเอาต์พุตที่มีการระบุชนิด ทำให้เขียนระบบ AI ที่ใช้งานง่าย พกพาได้ และปรับแต่งได้ง่าย
  • Optimizer ปรับแต่งพรอมป์ต์และค่าน้ำหนักของโมดูล AI
    • DSPy มีเครื่องมือที่คอมไพล์โค้ดระดับสูงซึ่งมีคำอธิบายภาษาธรรมชาติ ให้กลายเป็นการทำงานระดับล่าง พรอมป์ต์ หรือการอัปเดตค่าน้ำหนัก
    • ทำให้สามารถจัดแนว LM ให้สอดคล้องกับโครงสร้างของโปรแกรมและเมตริกได้
    • หากเปลี่ยนโค้ดหรือเมตริก ก็สามารถคอมไพล์ใหม่ให้สอดคล้องได้อย่างง่ายดาย
    • กระบวนการปรับแต่งของ DSPy
      • หากมีอินพุตตัวอย่างที่เป็นตัวแทนของงานจำนวนหลายสิบหรือหลายร้อยรายการ และมีเมตริกที่ใช้วัดคุณภาพของผลลัพธ์ระบบ ก็สามารถใช้ DSPy Optimizer ได้
        • dspy.BootstrapRS สังเคราะห์ตัวอย่าง few-shot ที่ดีสำหรับทุกโมดูล
        • dspy.MIPROv2 เสนอคำสั่งภาษาธรรมชาติที่ดีกว่าสำหรับทุกพรอมป์ต์และสำรวจอย่างชาญฉลาด
        • dspy.BootstrapFinetune สร้างชุดข้อมูลสำหรับโมดูล และใช้ชุดข้อมูลนั้นเพื่อทำ fine-tune ค่าน้ำหนัก LM ของระบบ
  • ระบบนิเวศของ DSPy ช่วยผลักดันงานวิจัย AI โอเพนซอร์สให้ก้าวหน้า
    • กระบวนทัศน์แบบโมดูลาร์ของ DSPy เปิดโอกาสให้นักวิจัยจำนวนมากขึ้น เมื่อเทียบกับกรณีของโมเดลภาษาขนาดใหญ่ ให้สามารถร่วมกันปรับปรุงสถาปัตยกรรมเชิงประกอบของโปรแกรม LM กลยุทธ์ในเวลาอนุมาน และเครื่องมือเพิ่มประสิทธิภาพแบบกระจายศูนย์ได้
    • สิ่งนี้ให้ประโยชน์แก่ผู้ใช้ DSPy ด้วยการเพิ่มการควบคุม ช่วยให้ทำงานแบบวนซ้ำได้เร็วขึ้น และทำให้โปรแกรมพัฒนาต่อเนื่องตามเวลาได้ด้วยการนำเครื่องมือหรือโมดูลปรับแต่งล่าสุดมาใช้
    • งานวิจัย DSPy เริ่มต้นที่ Stanford NLP ในเดือนกุมภาพันธ์ 2022 และสร้างขึ้นจากบทเรียนที่ได้จากการพัฒนาระบบ LM เชิงประกอบยุคแรก เช่น ColBERT-QA, Baleen และ Hindsight
    • เปิดตัวครั้งแรกในชื่อ DSP เมื่อเดือนธันวาคม 2022 และพัฒนาเป็น DSPy ในเดือนตุลาคม 2023 โดยด้วยแรงสนับสนุนจากผู้มีส่วนร่วม 250 คน ทำให้ผู้คนหลายหมื่นคนได้เรียนรู้วิธีสร้างและปรับแต่งโปรแกรม LM แบบโมดูลาร์
    • ชุมชน DSPy ได้สร้างผลงานวิจัยจำนวนมาก ทั้งเครื่องมือปรับแต่งอย่าง MIPROv2, BetterTogether, LeReT และสถาปัตยกรรมโปรแกรมอย่าง STORM, IReRa, DSPy Assertions
    • ยังมีกรณีการประยุกต์ใช้กับปัญหาใหม่ที่ประสบความสำเร็จจำนวนมาก เช่น PAPILLON, PATH, กรณีศึกษาการพรอมป์ต์ของ WangLab@MEDIQA และ UMD รวมถึงโปรแกรม Red-Teaming ของ Haize
    • นอกจากนี้ ความสามารถใช้งานจริงของ DSPy ยังได้รับการพิสูจน์ผ่านโครงการโอเพนซอร์สจำนวนมาก แอปพลิเคชันโปรดักชัน และกรณีใช้งานอื่น ๆ

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น