1 คะแนน โดย GN⁺ 2023-08-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Outlines เป็นไลบรารีสำหรับการสร้างข้อความด้วยโครงข่ายประสาทเทียม ซึ่งออกแบบให้ยืดหยุ่นมากขึ้นเพื่อใช้แทนเมธอด generate ของไลบรารี transformers
  • ช่วยให้นักพัฒนาสร้างอินเทอร์เฟซที่มีความทนทานได้ โดยรับประกันได้ว่าเอาต์พุตจะเป็นไปตาม regular expression หรือสคีมา JSON
  • ไลบรารีนี้มีองค์ประกอบพื้นฐานสำหรับการพรอมป์ต์ที่แข็งแรง โดยแยกตรรกะการพรอมป์ต์ออกจากตรรกะการทำงาน ทำให้สามารถนำ few-shot generation, ReAct, meta-prompting, agent และอื่น ๆ ไปใช้ได้อย่างง่ายดาย
  • Outlines ถูกออกแบบให้เข้ากันได้กับระบบนิเวศที่กว้างขึ้น โดยใช้ abstraction ให้น้อยที่สุดเท่าที่เป็นไปได้ และสามารถสลับการสร้างผลลัพธ์ร่วมกับ control flow, conditional, ฟังก์ชัน Python แบบกำหนดเอง และการเรียกใช้ไลบรารีอื่นได้
  • รองรับทุกโมเดล และเชื่อมต่อกับโมเดลผ่าน next-token logits นอกจากนี้ยังใช้ร่วมกับโมเดลแบบ API ได้ด้วย
  • ไลบรารีนี้มีจุดเด่นคือองค์ประกอบพื้นฐานสำหรับการพรอมป์ต์ที่เรียบง่ายแต่ทรงพลังบนเอนจินเทมเพลต Jinja, guided generation, การสร้างแบบมีไกด์ด้วย regular expression ที่รวดเร็ว, การสร้าง JSON ที่รวดเร็วตาม JSON schema หรือโมเดล Pydantic และการผสานรวมกับโมเดล transformers ของ HuggingFace
  • Outlines ใช้งานได้บน PyPi และติดตั้งได้ด้วยคำสั่ง pip install outlines
  • ไลบรารีนี้รองรับการหยุดการสร้างล่วงหน้าเมื่อพบลำดับที่กำหนด, การจำกัด completion ให้เหลือการเลือกจากหลายความเป็นไปได้ และการสั่งให้โมเดลคืนค่าเฉพาะจำนวนเต็มหรือจำนวนจริง
  • นอกจากนี้ยังรวมการสร้างแบบมีไกด์ด้วย regular expression ที่รวดเร็ว และการสร้าง JSON ที่มีประสิทธิภาพตามโมเดล Pydantic
  • Outlines ทำให้การเขียนและจัดการพรอมป์ต์ง่ายขึ้น โดยแยกตรรกะของพรอมป์ต์ออกจากตรรกะของโปรแกรมทั่วไปผ่านการห่อเทมเพลตไว้ภายใน "template function"
  • ไลบรารีนี้เปิดโอกาสให้โมเดลภาษาสามารถเรียกใช้ฟังก์ชันภายนอกเพื่อรับข้อมูลเพิ่มเติมหรือทำงานบางอย่างได้ โดยเข้ารหัสคำอธิบายของฟังก์ชันไว้ในพรอมป์ต์
  • Outlines เป็นโอเพนซอร์สและเผยแพร่ภายใต้ Apache License 2.0

1 ความคิดเห็น

 
GN⁺ 2023-08-15
ความคิดเห็นจาก Hacker News
  • บทความเกี่ยวกับวิธีที่ไลบรารี Language Model Libraries (LLMs) สามารถสร้าง JSON ที่ถูกต้องได้ 100%
  • LLMs สร้างการกระจายความน่าจะเป็นสำหรับทุกโทเค็น และตัวแยกวิเคราะห์ JSON จะให้รายการโทเค็นถัดไปที่ใช้ได้
  • มีการพูดถึงแนวคิดในการมาสก์บางส่วนของพื้นที่คำศัพท์และไลบรารีที่ใช้ขั้นตอนเวลาอย่างมีประสิทธิภาพ
  • มีข้อสงสัยเกี่ยวกับประสิทธิภาพของโมเดลพื้นฐานอย่าง Llama2 และจำเป็นต้องปรับแต่งคำสั่งให้เหมาะกับกรณีการใช้งานเฉพาะหรือไม่
  • มีคำถามเกี่ยวกับการมีอยู่ของพารามิเตอร์ temperature หรือ sampling สำหรับ generate.regex
  • มีการกล่าวถึงบทความที่บอกว่า GPT4 สามารถส่งคืน JSON ที่ถูกต้องได้ในกรณีส่วนใหญ่ด้วยการให้ตัวอย่างใน system message
  • มีการยอมรับกลไกของไลบรารี และเกิดความสนใจต่อการใช้งานที่เป็นไปได้กับงานที่ต้องการอินพุตแบบมีโครงสร้างนอกเหนือจาก JSON
  • มีความสนใจในศักยภาพของไลบรารีเหล่านี้ต่อการวางแผนเส้นทางแบบฟอร์มัล (Formal path planning)
  • มีการกล่าวถึงบทความที่ระบุว่าการขอรูปแบบเอาต์พุตที่ซับซ้อนอาจทำให้ประสิทธิภาพของงานพื้นฐานลดลง ซึ่งได้รับการยืนยันในเบนช์มาร์กการแก้ไขโค้ดของ GPT-3.5 และ GPT-4
  • มีการกล่าวถึงบทความที่ระบุว่า LLama.cpp ได้เพิ่มการสุ่มตัวอย่างตามไวยากรณ์เมื่อเดือนที่แล้ว
  • กระบวนการนี้คือการอัปเดตโลจิตไบแอส "mask" หลังจากแต่ละโทเค็นที่ LLM สร้างขึ้น เพื่อให้โทเค็นถัดไปสามารถเป็นโทเค็น JSON ที่ถูกต้องได้