1 คะแนน โดย GN⁺ 2023-09-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Jeremy Howard อธิบายภาษาโมเดลด้วยแนวทางแบบ เน้นโค้ดก่อนทฤษฎี โดยพาไล่ดูขั้นตอนการใช้งานจริงตั้งแต่ OpenAI API ไปจนถึงโมเดลโอเพนซอร์สที่รันในเครื่อง
  • ภาษาโมเดลไม่ได้ทำนายเป็นคำ แต่ทำนายเป็น โทเค็น และผ่านกระบวนการ pretraining, instruction tuning และ RLHF จนเหมาะกับการตอบคำถามและทำงานมากขึ้น
  • GPT-4 เป็นตัวเลือกที่ทรงพลัง ณ เดือนกันยายน 2023 แต่ยังอ่อนในเรื่องข้อมูลเกี่ยวกับตัวมันเอง, URL และข้อมูลหลัง knowledge cutoff โดย custom instructions ส่งผลอย่างมากต่อคุณภาพคำตอบ
  • OpenAI API ไม่เก็บสถานะบทสนทนาไว้ จึงต้องส่ง ประวัติการสนทนาทั้งหมด ทุกครั้ง และสามารถต่อเครื่องมืออย่างการรัน Python ได้ผ่านการเรียกฟังก์ชัน
  • การรันในเครื่องทำได้ด้วย Hugging Face Transformers, Llama 2, การควอนไทซ์แบบ GPTQ, RAG, การ fine-tune ด้วย Axolotl และ MLC·llama.cpp แต่ก็ต้องแลกมากับข้อจำกัดเรื่อง GPU, รูปแบบพรอมป์ต์ และการประเมินผล

ภาษาโมเดลคือระบบบีบอัดที่ทำนายโทเค็น

  • ภาษาโมเดลทำงานด้วยการทำนายคำถัดไปของประโยค หรือเติมคำที่หายไป
    • ตัวอย่างใช้ text-davinci-003 ของ OpenAI ใส่ประโยคที่มี “panda breeding facility” และ “live frogs” แล้วให้สร้างประโยคต่อ
    • ใน nat.dev สามารถทดลองภาษาโมเดลหลายตัวและดู ความน่าจะเป็น ของโทเค็นถัดไปแต่ละตัวได้
  • หน่วยที่ทำนายจริงไม่ใช่คำ แต่เป็น โทเค็น
    • โทเค็นอาจเป็นทั้งคำเต็ม คำบางส่วน เครื่องหมายวรรคตอน ตัวเลข ฯลฯ
    • ใช้ tiktoken เพื่อเข้ารหัสสตริงเป็นอาร์เรย์ของ token ID และถอดรหัสกลับได้ ด้วย tokenizer แบบเดียวกับโมเดลตระกูล GPT
    • ในตัวอย่าง “they are splashing” ถูกแยกเป็นหน่วยคำบางส่วนที่รวมช่องว่างไว้ด้วย
  • pretraining คือกระบวนการฝึกโครงข่ายประสาทด้วยเอกสารบนอินเทอร์เน็ตหรือประโยคจาก Wikipedia ให้ทายคำถัดไป
    • ใช้ประโยคจากบทความ Wikipedia เรื่อง “The Birds” เป็นตัวอย่างการฝึกให้ทาย Hitchcock ต่อจาก Alfred
    • ถ้าจะทายคำถัดไปได้ดี โมเดลต้องเรียนรู้ความรู้เกี่ยวกับโลกภายในตัวเอง เช่น วัตถุ เวลา ภาพยนตร์ ผู้กำกับ และชื่อบุคคล
  • Howard มองการทำนายคำถัดไปว่าเป็นรูปแบบหนึ่งของ การบีบอัด
    • โมเดลต้องบีบอัดข้อมูลจำนวนมากไว้ในพารามิเตอร์ของโครงข่ายประสาท จึงจะทายคำถัดไปได้ดี
    • ความสัมพันธ์ระหว่างการบีบอัดกับสติปัญญาเป็นแนวคิดที่มีการพูดถึงมานานแล้ว

จาก pretraining ไปสู่ instruction tuning และ RLHF

  • Howard อธิบาย ULMFiT ว่าเป็นแนวคิดพื้นฐานของการนำภาษาโมเดลไปใช้งาน
    • ULMFiT เป็นอัลกอริทึมที่ Howard สร้างในปี 2017 และสรุปเป็นงานวิจัยร่วมกับ Sebastian Ruder ในต้นปี 2018
    • ตัวอย่างดั้งเดิมคือการ pretrain ภาษาโมเดลด้วย Wikipedia
  • กระบวนการฝึกแบ่งเป็น 3 ขั้น
    • ภาษาโมเดล pretraining: เรียนรู้ความรู้ทั่วไปผ่านการทำนายคำถัดไป
    • ภาษาโมเดล fine-tuning: ฝึกทำนายคำถัดไปอีกครั้งด้วยเอกสารที่ใกล้กับงานปลายทางมากขึ้น
    • classifier fine-tuning: ปรับโมเดลให้เหมาะกับงานสุดท้าย
  • ในภาษาโมเดลสมัยใหม่ ขั้นที่สองมักอยู่ในรูปของ instruction tuning
    • ปรับโมเดลด้วยข้อมูลคำถาม คำสั่ง คำขอ และคำตอบของสิ่งเหล่านั้น
    • มีการยกตัวอย่างชุดข้อมูล OpenOrca และ FLAN collection
    • OpenOrca มีข้อมูลคำถาม บริบท และคำตอบราว 4GB
  • ขั้นที่สามมักใช้ RLHF
    • ให้มนุษย์หรือโมเดลที่ดีกว่าเลือกคำตอบที่ดีกว่าจากหลายคำตอบ
    • มีตัวอย่างการเปรียบเทียบสองคำตอบสำหรับคำถามอย่าง “5 ไอเดียเพื่อกลับมามีแพสชันกับอาชีพอีกครั้ง”
  • คำว่า “ภาษาโมเดล” อาจหมายถึงโมเดลที่ผ่านแค่ pretraining, ผ่าน instruction tuning หรือผ่านถึง RLHF แล้วก็ได้ ขึ้นอยู่กับบริบท
    • โมเดลที่ผ่านแค่ pretraining มักมีประโยชน์น้อยเมื่อใช้งานเดี่ยว ๆ และจะใช้งานได้มากขึ้นหลัง fine-tune
    • Howard บอกว่าปัจจุบันก็มีการถกเถียงกันว่า instruction tuning อย่างเดียวอาจเพียงพอแล้วหรือไม่

วิธีใช้ GPT-4 ให้ดีและข้อจำกัดของมัน

  • Howard แนะนำอย่างหนักแน่นว่า GPT-4 คือภาษาโมเดลที่ดีที่สุด ณ เดือนกันยายน 2023
    • ใน ChatGPT สามารถจ่ายเดือนละ 20 ดอลลาร์เพื่อใช้งาน GPT-4 ได้มาก
    • OpenAI API คิดค่าใช้จ่ายแยกตามจำนวนโทเค็น
  • สำหรับคำกล่าวที่ว่า GPT-4 ให้เหตุผลไม่ได้ Howard มองว่าเมื่อลองใส่ตัวอย่างจากงานวิจัยหรืออินเทอร์เน็ตเข้าไปตรง ๆ ก็มักตอบถูกอยู่บ่อย
    • มีตัวอย่างปัญหาเรื่องช่วงเวลาการมีชีวิตอยู่ของ Mabel, ปัญหา Sally กับพี่น้อง และปัญหาตำแหน่งของถ้วย ปลอกนิ้ว และเพชร
    • Howard บอกว่าเมื่อไปตรวจตัวอย่างที่อินเทอร์เน็ตบอกว่า GPT-4 ทำไม่ได้ ส่วนใหญ่มักกลับทำได้
  • โมเดลไม่ได้ถูกฝึกมาให้ให้คำตอบที่ถูกต้องเสมอไป
    • pretraining คือการทายคำถัดไปที่ดูน่าเป็นไปได้ที่สุด และบนอินเทอร์เน็ตก็มีทั้งเรื่องแต่ง มุกตลก และข้อมูลผิด
    • ใน RLHF คำตอบที่ดูมั่นใจอาจได้รับความนิยมมากกว่า และผู้ประเมินอาจแยกคำตอบผิดได้ไม่ดีพอ
  • custom instructions ช่วยยกระดับคุณภาพคำตอบได้
    • สามารถใส่คำสั่งอย่าง “ให้เหตุผลได้ดี”, “ถ้าอาจไม่มีคำตอบที่ถูกต้องก็ให้บอก”, “เริ่มด้วยการอธิบายบริบทพื้นหลังสักสองสามประโยค” ไว้หน้าทุกคำถาม
    • โมเดลสร้างข้อความทีละคำ และนำสิ่งที่สร้างแล้วกลับเข้าไปเป็นอินพุตอีกครั้ง ดังนั้นถ้าสร้างคำมากขึ้นก็เหมือนได้คำนวณมากขึ้น
    • ยังมีตัวอย่างกฎส่วนตัว เช่น ถ้าขึ้นต้นด้วย VV ให้ตอบแบบสั้นกระชับ
  • GPT-4 ก็มีข้อจำกัดที่ชัดเจน
    • โมเดลไม่มีโอกาสรู้ข้อมูลอย่างวิธีที่ตัวมันถูกฝึก หรือความยาวคอนเท็กซ์ของตัวเองในช่วงการฝึก
    • มันไม่ค่อยรู้เนื้อหาของ URL และถ้าถามก็อาจแต่งขึ้นมาได้
    • ความรู้จาก pretraining ของ GPT-4 มีถึง กันยายน 2021
    • ถ้านำปริศนาคลาสสิกที่คุ้นเคยมาดัดแปลงเล็กน้อย โมเดลอาจถูกดึงกลับไปตอบตามแพตเทิร์นเดิมจนผิด
      • มีการใช้ตัวอย่างปริศนาพากะหล่ำปลี แพะ และหมาป่าข้ามแม่น้ำแบบเปลี่ยนเงื่อนไข
      • ถ้าตอบผิดไปแล้วพยายามแก้ด้วยการคุยต่อ มันอาจยังตอบผิดต่อเนื่อง จึงควรใช้ฟีเจอร์ edit ของแชตเพื่อแก้พรอมป์ต์ก่อนหน้าแทน

ต่อเครื่องมือด้วย OpenAI API และการเรียกฟังก์ชัน

  • OpenAI API เปิดให้เรียกภาษาโมเดลจากโปรแกรมอย่าง Python ได้
    • มีตัวอย่างใช้ pip install openai แล้วเรียกโมเดลอย่าง gpt-3.5-turbo ผ่าน ChatCompletion.create
    • ข้อความ system ทำหน้าที่คล้าย custom instructions ของ ChatGPT
    • ในตัวอย่าง มี system prompt ให้เป็น “Aussie LLM ที่ใช้สแลงออสเตรเลียและอุปมาอุปไมย” แล้วถามว่า “What is money?”
  • บทสนทนาผ่าน API ไม่มีสถานะถาวรถูกเก็บไว้ฝั่งเซิร์ฟเวอร์
    • เมื่อต้องถามต่อ ต้องส่ง ประวัติการสนทนาทั้งหมด กลับไปใหม่
    • แม้ผู้ใช้จะเปลี่ยนคำตอบก่อนหน้าของ assistant เอง โมเดลก็จะตอบต่อจากประวัติที่ถูกส่งเข้าไปนั้น
    • ในตัวอย่าง มีการแต่งให้ assistant เคยพูดว่า “money is like kangaroos” แล้วให้ขยายความต่อจากอุปมานั้น
  • ค่าใช้จ่ายขึ้นกับรุ่นโมเดลและจำนวนโทเค็น
    • โดยเฉลี่ยโทเค็นจะมากกว่าจำนวนคำเล็กน้อย ประมาณ 1⅓ โทเค็นต่อ 1 คำ
    • ในตัวอย่างมีการกล่าวถึงความต่างราคาประมาณ 0.0015 ดอลลาร์สำหรับ GPT-3.5 และ 0.03 ดอลลาร์สำหรับ GPT-4
    • คำตอบราว 150 โทเค็นคำนวณได้ประมาณ 0.0003 ดอลลาร์บน GPT-3.5
    • สามารถตรวจดูการใช้งานได้จากหน้า OpenAI usage
  • บัญชี API ช่วงแรกอาจมี rate limit ต่ำ
    • มีตัวอย่างข้อจำกัดต่ำอย่าง 3 คำขอต่อนาทีสำหรับผู้ใช้ฟรีหรือผู้จ่ายเงินใน 48 ชั่วโมงแรก
    • หากเจอ error เรื่อง rate limit ต้องเขียนโค้ด Python ให้อ่านค่า retry-after แล้วรอและลองใหม่
  • ด้วย function calling สามารถบอกโมเดลได้ว่ามีเครื่องมืออะไรให้ใช้บ้าง
    • ไม่ได้ส่ง Python function ตรง ๆ แต่ส่งชื่อฟังก์ชัน คำอธิบาย และพารามิเตอร์ในรูป JSON schema
    • docstring ของฟังก์ชันเป็นข้อมูลสำคัญที่โมเดลใช้ตัดสินว่าเครื่องมือนั้นมีไว้ทำอะไร
    • ในตัวอย่างฟังก์ชัน sums โมเดลไม่ได้ตอบ 6+3 เอง แต่คืนชื่อฟังก์ชันที่ต้องเรียกพร้อมอาร์กิวเมนต์
    • ถ้ามอบฟังก์ชัน python เป็นเครื่องมือ โมเดลสามารถสร้างโค้ดเพื่อคำนวณ 12 factorial แล้วหลังผู้ใช้ยืนยันจึงรันและนำผลลัพธ์กลับเข้าไปในบทสนทนาได้
    • วิธีนี้ทำให้สร้าง code interpreter แบบง่าย ๆ ภายใน Jupyter ได้เอง

ตัวเลือกของโมเดลในเครื่อง, RAG และการ fine-tune

  • หากต้องการใช้ภาษาโมเดลในเครื่อง โดยทั่วไปจะต้องมี GPU
    • Kaggle อาจมีโน้ตบุ๊กที่ให้ GPU รุ่นเก่า 2 ตัว
    • Colab อาจให้ GPU ที่ดีกว่าและ RAM มากกว่า และมีตัวเลือกเพิ่มขึ้นหากจ่ายค่าสมาชิกรายเดือน
    • มีการกล่าวถึงตัวเลือกเช่า GPU อย่าง RunPod, Lambda Labs และ Vast.ai
    • งานที่อ่อนไหวไม่เหมาะจะไปรันบน “คอมพิวเตอร์ของคนแปลกหน้า”
  • เวลาจะเลือก GPU สำหรับงานนี้ ความเร็วและขนาดหน่วยความจำ สำคัญกว่าพลังประมวลผลล้วน ๆ
    • GTX 3090 มือสองถูกยกตัวอย่างว่าราคาใน eBay ราว 700 ดอลลาร์
    • RTX 4090 เป็น GPU รุ่นใหม่กว่า แต่กับภาษาโมเดลไม่ได้ดีกว่า 3090 อย่างชัดเจน
    • 24GB อาจไม่พอสำหรับหลายงาน จึงมีตัวเลือก 3090 สองใบในราคาราว 1,500 ดอลลาร์
    • A6000 ที่มี RAM 48GB อยู่ราว 5,000 ดอลลาร์
    • Mac ที่มี RAM มาก โดยเฉพาะ M2 Ultra ใช้รันโมเดลเดิม ๆ ได้ไม่เลว แต่ช้ากว่าการ์ด Nvidia
  • ระบบนิเวศของ Hugging Face คือเครื่องมือหลักสำหรับทดลองโมเดลในเครื่อง
    • ใช้ Transformers เพื่อโหลดทั้งโมเดลที่ผ่าน pretraining และ fine-tune ที่อยู่บน Hugging Face ได้
    • ลีดเดอร์บอร์ดใช้ดูอ้างอิงได้ แต่ไม่จำเป็นต้องสะท้อนการใช้งานจริง และอาจมีปัญหา leakage ที่ข้อมูล benchmark หลุดเข้าไปอยู่ในชุดฝึก
    • ในสภาพแวดล้อม GPU ส่วนบุคคลทั่วไป โมเดล 13B หรือ 7B เป็นทางเลือกที่สมจริงกว่ารุ่น 70B
  • ตระกูล Llama 2 และการควอนไทซ์เป็นตัวอย่างสำคัญ
    • Llama 2 7B ของ Meta เป็นโมเดลที่ผ่านแค่ pretraining จึงยังไม่มี instruction tuning หรือ RLHF และไม่เหมาะกับการถามตอบโดยตรง
    • ถ้าโหลดโมเดล 7B แบบ 16-bit จะต้องใช้หน่วยความจำสำหรับน้ำหนักอย่างเดียวประมาณ 14GB
    • แปลงเป็น 8-bit ช่วยลดหน่วยความจำได้ แต่ก็อาจช้าลง
    • bfloat16 เร็วกว่า แต่ต้องใช้ RAM มากกว่า
    • โมเดลที่ควอนไทซ์ด้วย GPTQ ถูกปรับให้ใช้ความละเอียดต่ำลงเพื่อลดการย้ายข้อมูลในหน่วยความจำ และในตัวอย่างแม้เป็นโมเดล 13B GPTQ ก็ยังรันได้เร็วกว่า 7B
    • มีการกล่าวถึง TheBloke ว่าเป็นผู้ที่นำโมเดลยอดนิยมมาปรับเป็น GPTQ แล้วปล่อยบน Hugging Face
  • โมเดลที่ผ่าน instruction tuning ต้องใช้ รูปแบบพรอมป์ต์ ให้ตรง
    • โมเดลอย่าง Stable Beluga ที่อิง Llama 2 ต้องใช้รูปแบบพรอมป์ต์ตามที่หน้าโมเดลระบุไว้เป๊ะ
    • OpenOrca Platypus 13B GPTQ ก็ต้องตรวจรูปแบบพรอมป์ต์เฉพาะแล้วทำเป็นฟังก์ชันไว้
    • เมื่อใช้รูปแบบถูกต้อง จะได้คำตอบที่ดีกว่าสำหรับคำถามอย่าง “Who is Jeremy Howard?” แต่ก็ยังอาจมีอาการหลอนได้
  • RAG เป็นวิธีใช้ข้อมูลล่าสุดหรือเอกสารเฉพาะทาง
    • ระบบจะค้นหาเอกสารที่ช่วยตอบคำถาม แล้วแนบเอกสารนั้นเข้าไปเป็นคอนเท็กซ์ให้โมเดลตอบ
    • เมื่อนำหน้า Wikipedia ของ Jeremy Howard ที่มี 613 คำใส่เป็นคอนเท็กซ์ คำตอบชีวประวัติ 100 คำที่ได้ก็ใกล้ความจริงมากขึ้น
    • sentence-transformers ใช้แปลงเอกสารและคำถามเป็นเวกเตอร์ embedding แล้วคำนวณความคล้ายเพื่อเลือกเอกสารที่เกี่ยวข้อง
    • ถ้ามีเอกสารเป็นหลักพันหรือหลักล้าน มักใช้ vector database เพื่อฝัง embedding ไว้ล่วงหน้า
    • H2O GPT เป็นตัวอย่างโอเพนซอร์สที่อัปโหลด PDF ในเครื่องและทำ RAG ได้
    • สำหรับคำถามต่อเนื่อง ต้องระวังเพราะถ้าโมเดลค้นหาไม่รู้บริบทก่อนหน้า ก็อาจไปดึงเอกสารที่ไม่เกี่ยวข้องมา
  • fine-tuning คือการเปลี่ยนพฤติกรรมของตัวโมเดลโดยตรง
    • ชุดข้อมูลตัวอย่างประกอบด้วย schema ของฐานข้อมูล คำถามภาษาธรรมชาติ และ SQL คำตอบ
    • โหลดชุดข้อมูลด้วยไลบรารี datasets ของ Hugging Face
    • ใช้ Axolotl คัดลอกตัวอย่างของ Llama 2 แล้วสร้างไฟล์ตั้งค่า YAML สำหรับงาน SQL เพื่อฝึกโมเดล
    • หลังรันคำสั่ง accelerate launch axolotl ฝึกราว 1 ชั่วโมง จะได้ไดเรกทอรี q_lora_out
    • Q คือ quantize ส่วน LoRA คือเทคนิคที่ช่วยให้ฝึกได้ด้วยโมเดลเล็กลงและ GPU เล็กลง
    • หลังฝึกแล้ว เมื่อนำ schema กับคำถามเข้าไป โมเดลสามารถสร้าง SQL ที่ถูกต้องในรูปแบบ SELECT count(hosts), theme ... GROUP BY theme
  • ยังมีตัวเลือกด้าน Mac และ runtime อื่น ๆ
    • MLC เป็นโปรเจกต์ที่ทำให้รันภาษาโมเดลบน iPhone, Android และเว็บเบราว์เซอร์ได้
    • มีตัวอย่างรันโมเดล 7B ที่ควอนไทซ์แล้วบน Mac ให้ตอบ “What is the meaning of life?” และได้ความเร็วราว 9.6 tokens/s
    • llama.cpp ใช้ฟอร์แมต gguf และสามารถเรียกผ่าน Python wrapper ได้ด้วย
    • หากคุ้นกับ Nvidia GPU และ Python การใช้ระบบนิเวศ PyTorch กับ Hugging Face มักเหมาะกว่า
  • สภาพแวดล้อมสำหรับพัฒนาภาษาโมเดลเปลี่ยนเร็วมากและยังอยู่ในช่วงเริ่มต้น ทำให้การติดตั้งและเคสขอบ ๆ ยังยุ่งยาก แต่ก็เป็นช่วงเวลาที่น่าสนใจสำหรับโปรแกรมเมอร์ Python
    • สามารถเข้าไปถามหรือแชร์ประสบการณ์ได้ในช่อง generative ของ fast.ai Discord

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

 
GN⁺ 2023-09-25
ความคิดเห็นจาก Hacker News
  • เพิ่งโพสต์ไปเอง แต่แปลกใจที่ขึ้น HN แล้ว
    ผมค่อนข้างตั้งความหวังกับวิดีโอนี้ไว้มาก พยายามอัดข้อมูลสำคัญที่นึกออกให้ได้มากที่สุดใน การบรรยาย 90 นาที และเป้าหมายคือทำให้เวลานักพัฒนาถามว่า “บอกทุกอย่างที่ควรรู้เกี่ยวกับ LLM ให้หน่อย” จะได้ชี้ไปที่เดียวได้
    ถึงอย่างนั้นก็แน่นอนว่าน่าจะมีเรื่องที่ตกหล่นหรือส่วนที่ไม่ชัดเจนอยู่ นี่เป็นความพยายามครั้งแรก และสักวันหนึ่งตั้งใจจะขยายให้เป็นคอร์สเต็ม ดังนั้นถ้าดูวิดีโอแล้วมีคำถามที่ยังค้างอยู่ หรือมีแนวคิดที่คิดว่าควรพูดถึง ก็อยากให้บอกมา
    ผมใกล้จะต้องไปนอนแล้ว และออสเตรเลียก็ดึกมากแล้ว เลยอาจตอบคำถามได้ไม่มากจนกว่าจะเช้า แต่ตื่นแล้วจะกลับมาดูหน้านี้แน่นอน และพรุ่งนี้จะเพิ่มลิงก์งานวิจัยที่เกี่ยวข้องไว้ในคำอธิบาย YouTube ด้วย
    ไม่ได้พูดถึงประเด็นด้านจริยธรรมหรือนโยบาย ไม่ใช่เพราะมันไม่สำคัญ แต่เพราะในการบรรยายครั้งนี้ตั้งใจจะโฟกัสเฉพาะ ประเด็นทางเทคนิค อย่างเต็มที่

  • ยอดเยี่ยมมาก โน้ตบุ๊กที่ใช้ดูประกอบวิดีโออยู่ที่นี่: https://github.com/fastai/lm-hackers/blob/main/lm-hackers.ip...
    โครงสร้างโปรเจกต์ก็ดี มีทั้งการแฮ็ก OpenAI API, การจำลอง Code Interpreter ที่ทำด้วย OpenAI functions, การ รัน LLM แบบโลคัล ด้วยโมเดลจาก Hugging Face และใน 10 นาทีสุดท้ายยังมีตัวอย่าง fine-tuning เพื่อสร้างโมเดล text-to-SQL ด้วย

  • ขอบคุณสำหรับวิดีโอ นี่เป็น ทิวทอเรียลการใช้ LLM ที่ดีที่สุดเท่าที่เคยดูมา
    ที่ https://youtu.be/jkrNMKz9pWU?si=Dvz-Hs4InJXNozhi&t=3278 เขาพูดถึง use case ที่เหมาะสมของโมเดลโลคัลกับ GPT-4 ว่า “การ fine-tuning ทำให้เราสร้างโมเดลที่เก่งเป็นพิเศษกับประเภทปัญหาที่เราต้องแก้ได้ และในกรณีแบบนี้ก็เป็นไปได้เต็มที่ที่จะทำผลงานได้ดีกว่า GPT-4”
    เกี่ยวกับเรื่องนี้ ผมมีไอเดียที่คิดมาสักพักแล้ว ลองนึกถึงแชตบอตที่มีโมเดล “เล็ก” หลายตัวอยู่เบื้องหลัง เช่น โมเดล 7 พันล้านพารามิเตอร์ แต่ละโมเดลถูก fine-tune ให้เหมาะกับงานเฉพาะด้าน ระบบแบบนี้จะเอาชนะ GPT-4 ได้ไหม?
    แนวคิดคร่าว ๆ คือ ส่ง context/prompt ไปยัง “โมเดลเราเตอร์” แล้วให้โมเดลนี้ตัดสินว่าโมเดลผู้เชี่ยวชาญตัวไหนจะตอบหรือเติมข้อความได้ดีที่สุด จากนั้นระบบก็ส่ง context/prompt ไปยังโมเดลผู้เชี่ยวชาญตัวนั้นแล้วคืนคำตอบกลับมา ถ้าไม่มีโมเดลผู้เชี่ยวชาญที่เหมาะสม ก็ใช้ LLM อเนกประสงค์ที่ instruction-tuned แบบทั่วไป
    ถ้าในเชิงทฤษฎี โมเดลเล็กที่ fine-tune สำหรับงานเฉพาะสามารถดีกว่า GPT-4 ได้ ก็น่าคิดว่าคลัสเตอร์ของโมเดลเล็กเหล่านั้นโดยรวมอาจเหนือกว่า GPT-4 ได้เช่นกัน

    • Sambanova เพิ่งเปิดตัวสิ่งที่คล้ายกัน เป็นเดโม โมเดล MoE 1 ล้านล้านพารามิเตอร์ ที่รันบนชิปใหม่ โครงสร้างคือเอาโมเดล llama2 7 พันล้านพารามิเตอร์ 150 ตัวมาเทรนใหม่ให้เป็นผู้เชี่ยวชาญในหัวข้อต่าง ๆ เช่น ตัวหนึ่งเป็นผู้เชี่ยวชาญ “กฎหมาย” อีกตัวเป็นผู้เชี่ยวชาญ “ฟิสิกส์” เป็นต้น
      มีวิดีโอที่นี่ [1] https://sambanova.ai/launch2023
      ถ้าเลื่อนลงไปอีกหน่อย จะมีการเปรียบเทียบกับโมเดล Falcon 180 พันล้านพารามิเตอร์ที่รันบน GPU ของ HuggingFace ผลลัพธ์ของ MoE ไม่เพียงคุณภาพใกล้เคียงกัน แต่ยังเร็วมากและแทบจะตอบได้ทันที อีกข้อดีใหญ่คือสามารถสลับโมเดลผู้เชี่ยวชาญหรือเทรนใหม่ด้วยข้อมูลใหม่ได้ ซึ่งแน่นอนว่าไม่ง่ายในโมเดล 180 พันล้านพารามิเตอร์แบบเดี่ยวที่รวมศูนย์มากกว่า
    • ฟังดูสมเหตุสมผล จริง ๆ ตอนนี้มี โปรเจกต์โอเพนซอร์ส หลายตัวที่กำลังสร้างโมเดลแบบนั้นอยู่ ตัวอย่างที่ดีคือที่นี่: https://github.com/XueFuzhao/OpenMoE/
    • ลองค้น Google เรื่อง mixture of experts ได้เลย ตามข้อมูลหลุดที่ยังไม่ได้รับการยืนยัน ว่ากันว่า GPT-4 ก็ใช้วิธีนี้อยู่แล้ว
  • อีกอย่างที่น่าประทับใจคือ นี่เป็นวิดีโอจากคนที่เขียนเปเปอร์ที่จุดกระแสทั้งหมดนี้ขึ้นมา

  • เป็นวิดีโอที่ยอดเยี่ยม เลยแชร์ในที่ทำงานด้วย จากมุมมองเชิงปฏิบัติ นี่น่าจะเป็นสื่อปูพื้นฐานที่ครอบคลุมที่สุดในหัวข้อนี้เท่าที่ผมรู้จัก
    ชอบเป็นพิเศษตรงส่วน “โพสต์ไวรัลที่บอกว่า GPT ทำ X ไม่ได้นั้นทำซ้ำไม่ได้” หวังว่าจะช่วยให้คนรอบตัวเรียนรู้ที่จะคิดเชิงวิพากษ์เวลามองเทคโนโลยีนี้

  • วิดีโอยอดเยี่ยมมาก ได้เรียนรู้เคล็ดลับใหม่ ๆ หลายอย่างที่น่าจะเอาไปใช้ได้
    แค่ลองทำอะไรบางอย่าง ก็ทำให้ค้นพบการใช้งานใหม่ ๆ ได้แล้ว
    ไม่นานมานี้มีตัวอย่างที่ดี ผมต้องแปลงสเปรดชีตที่มีที่อยู่เป็น GeoJSON เพื่อใช้เป็นเลเยอร์บนแผนที่ แต่รู้สึกขี้เกียจมาก เลยลองดูว่า ChatGPT จะจัดการได้ดีแค่ไหน
    ขั้นแรก ผมให้คู่ละติจูด/ลองจิจูดไปหนึ่งคู่ แล้วขอให้แปลงรูปแบบองศา/ลิปดาเป็นเลขทศนิยม มันแสดงขั้นตอนการคำนวณได้ไม่มีปัญหา จากนั้นผมให้ทั้งคอลัมน์ละติจูด/ลองจิจูด และบอกไม่ต้องแสดงขั้นตอนการคำนวณ ผลลัพธ์ก็ออกมาดี
    ต่อมาผมสร้างโครงสร้าง JSON ตัวอย่างที่มี placeholder แล้วบอกว่าจะให้ข้อมูล ให้เติม placeholder ด้วยชื่อคอลัมน์ พอวางข้อมูลลงไป มันก็สร้าง JSON ออกมาได้สมบูรณ์แบบ
    สิ่งที่น่าสนใจคือ มันแปลงละติจูด/ลองจิจูดให้อีกครั้งโดยไม่ได้สั่งเพิ่ม และยังเพิ่มค่า id ให้เองด้วย ทั้งที่ผมไม่ได้พูดถึง ค่อนข้างน่าประทับใจ

  • Jeremy เป็นคนที่ผมเคารพ และในฐานะคนที่เกิดและอาศัยอยู่ใน Queensland เขาทำให้ผมนึกได้ว่า พรสวรรค์ระดับโลก นั้นมีอยู่รอบตัวเราจริง ๆ
    แน่นอนว่าคนแบบนี้คงมีมากในทุกวงการ แต่ Jeremy เป็นหนึ่งในคนที่ผมรู้จักและเคารพอย่างลึกซึ้ง