ประโยชน์และข้อจํากัดของโมเดลภาษาขนาดใหญ่

เผยแพร่เมื่อวันที่ 13 มกราคม 2024

บทความนี้เป็นบทความแรกในชุดบทความ 3 บทความเกี่ยวกับ LLM และแชทบ็อต ส่วนที่ 2 เกี่ยวกับการสร้างแชทบ็อตด้วย WebLLM และส่วนที่ 3 เกี่ยวกับการใช้ Prompt API มีให้รับชมแล้ว

โมเดลภาษาขนาดใหญ่ (LLM) กำลังกลายเป็นองค์ประกอบพื้นฐานที่สำคัญในการพัฒนาซอฟต์แวร์ เนื่องจาก LLM เหมาะอย่างยิ่งในการสร้างและประมวลผลข้อความภาษาธรรมชาติ เพื่อปลดล็อกกรณีการใช้งานต่างๆ เช่น การสกัดข้อมูล การสรุป หรืออำนวยความสะดวกในการสนทนากับข้อมูลผู้ใช้

ในชุดบทแนะนำนี้ เราจะพูดถึงข้อดีและข้อเสียของ LLM ในอุปกรณ์ รวมถึงแนะนำวิธีเพิ่มความสามารถของแชทบ็อตลงในแอปพลิเคชันที่มีอยู่โดยใช้ 2 วิธีแบบในเครื่องและแบบออฟไลน์ ได้แก่ WebLLM ซึ่งเป็นรันไทม์ LLM บนเว็บ และ Prompt API เวอร์ชันทดลองของ Chrome

กรณีการใช้งานที่เป็นไปได้

แอปพลิเคชันก่อนเพิ่มแชทบ็อต
แอปรายการสิ่งที่ต้องทำ

เราจะสร้างแชทบ็อตบนแอปพลิเคชันรายการสิ่งที่ต้องทำแบบคลาสสิก ซอร์สโค้ดสำหรับแต่ละขั้นตอนมีอยู่ใน GitHub ผู้ใช้จะเพิ่มสิ่งที่ต้องทำใหม่ ทำเครื่องหมายว่าเสร็จแล้ว และลบรายการเหล่านั้นได้

คุณอาจต้องการเพิ่มฟีเจอร์เพื่อให้ผู้ใช้ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลรายการสิ่งที่ต้องทํา หรือดําเนินการอื่นๆ ฟีเจอร์แชทบ็อตช่วยให้ผู้ใช้ทำสิ่งต่อไปนี้ได้

  • สอบถามเกี่ยวกับจํานวนงานที่เปิดอยู่
  • ระบุสิ่งที่ต้องทำที่ซ้ำกันหรือคล้ายกันมาก
  • จัดหมวดหมู่สิ่งที่ต้องทำเป็นกลุ่ม
  • รับคําแนะนําสำหรับงานใหม่โดยอิงตามงานที่เสร็จแล้ว
  • แปลงานเป็นภาษาต่างๆ
  • ส่งออกรายการสิ่งที่ต้องทำในรูปแบบ XML

ตัวอย่างข้างต้นเป็นเพียงตัวอย่างงานบางส่วนที่ LLM จัดการได้

โมเดลภาษาขนาดใหญ่คืออะไร

LLM คือโครงข่ายระบบประสาทเทียมที่ประมวลผลและสร้างข้อความภาษาธรรมชาติ LLM ในปัจจุบันส่วนใหญ่อิงตามสถาปัตยกรรม Transformer ที่พัฒนาขึ้นที่ Google ตัวอย่างเช่น โมเดล Gemini และ Gemma ของ Google, ซีรีส์โมเดล GPT ของ OpenAI และโมเดลโอเพนซอร์ส เช่น LLaMa โดย Meta AI และ Mistral โดย Mistral AI

LLM มีความสามารถที่หลากหลายที่น่าประทับใจเนื่องจากได้รับการฝึกด้วยข้อมูลจํานวนมาก โดยสามารถเข้าใจภาษาต่างๆ มากมาย มีข้อมูลเกร็ดความรู้ แปลภาษาต่างๆ หรือสร้างโค้ดการเขียนโปรแกรม ความสามารถเหล่านี้อาจแตกต่างกันอย่างมากตามขนาดของโมเดล ตามที่อธิบายไว้ในทําความเข้าใจขนาด LLM

LLM ทําให้เกิดการเปลี่ยนแปลงกระบวนทัศน์ในสถาปัตยกรรมซอฟต์แวร์ เนื่องจากภาษาที่เป็นธรรมชาติได้กลายเป็นฟีเจอร์หลักในวิศวกรรมซอฟต์แวร์แล้ว แทนที่จะเรียก API โดยใช้อินเทอร์เฟซที่กําหนดไว้อย่างดี คุณก็แสดงเจตนาเป็นภาษาธรรมชาติในพรอมต์ที่เรียกว่าได้

ข้อจํากัดของ LLM

LLM มีข้อจำกัดบางอย่างด้วย ดังนี้

  • ลักษณะการทำงานที่ไม่แน่นอน: LLM สามารถให้คำตอบที่หลากหลายและบางครั้งก็ขัดแย้งกันสำหรับพรอมต์เดียวกัน เนื่องจากเอาต์พุตจะขึ้นอยู่กับโมเดลแบบสุ่มมากกว่ากฎตายตัว
  • อาการหลอน: บางครั้งโมเดลเหล่านี้อาจสร้างข้อมูลที่ไม่ถูกต้องหรือไร้สาระ โดยอาศัยรูปแบบที่เรียนรู้แทนความถูกต้องตามข้อเท็จจริง
  • การแทรกพรอมต์: LLM อาจเสี่ยงต่อการถูกโจมตีด้วยการแทรกพรอมต์ ซึ่งผู้ใช้จะสร้างพรอมต์การป้อนข้อมูลเพื่อควบคุมให้โมเดลทำงานแตกต่างจากฟังก์ชันที่ต้องการหรือให้แสดงผลลัพธ์ที่ไม่ต้องการ

ดังนั้น ผู้ใช้ต้องยืนยันผลลัพธ์ที่ LLM สร้างขึ้นก่อนดำเนินการใดๆ ที่อาจส่งผลต่อผลลัพธ์

เมื่อจัดการกับ LLM ในอุปกรณ์ คุณต้องพิจารณาขนาดของ LLM โดยจะมีขนาดไฟล์หลายกิกะไบต์และต้องดาวน์โหลดลงในอุปกรณ์ของผู้ใช้ก่อนใช้งานครั้งแรก โมเดลขนาดเล็กมักจะให้คำตอบที่มีคุณภาพต่ำลง โดยเฉพาะเมื่อเทียบกับโมเดลที่ทำงานบนระบบคลาวด์

เลือกโซลูชันในพื้นที่

แนวทางแรกในการผสานรวม LLM เข้ากับเว็บแอปพลิเคชันอาจเป็นการใช้ผู้ให้บริการระบบคลาวด์ ผู้ให้บริการจำนวนมากมี LLM คุณภาพสูง ซึ่งบางรายการมีให้บริการเฉพาะบางผู้ให้บริการ LLM ในระบบคลาวด์จะให้การอนุมานที่รวดเร็วในราคาที่เหมาะสม ซึ่งมักจะคำนวณตามโทเค็นที่ประมวลผล

ในทางตรงกันข้าม โซลูชันในพื้นที่มีข้อดีที่น่าสนใจ LLM ที่โฮสต์ในเครื่องของผู้ใช้จะทำงานโดยตรงในอุปกรณ์ของผู้ใช้ จึงให้เวลาในการตอบสนองที่เชื่อถือได้มากขึ้น เข้าถึงได้แม้ในขณะที่ผู้ใช้ออฟไลน์ และไม่จําเป็นต้องให้ผู้พัฒนาแอปจ่ายค่าสมัครใช้บริการหรือค่าใช้จ่ายอื่นๆ อย่างต่อเนื่อง ที่สำคัญคือช่วยเพิ่มความปลอดภัยของผู้ใช้ได้อย่างมาก การเก็บกิจกรรมทั้งหมดไว้ในอุปกรณ์จะช่วยให้คุณหลีกเลี่ยงการส่งข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ (PII) ไปยังผู้ให้บริการหรือภูมิภาคภายนอกได้

เดโม

คุณสามารถดูตัวอย่างที่เสร็จสมบูรณ์ซึ่งมีความสามารถของแชทบ็อตได้ก่อนที่จะเรียนรู้วิธีสร้างแชทบ็อตด้วยตนเอง

ถัดไป คุณจะใช้ WebLLM เพื่อเพิ่มแชทบ็อตลงในแอปพลิเคชันรายการสิ่งที่ต้องทํา