1 คะแนน โดย GN⁺ 2023-08-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • นักพัฒนาสามารถปรับ GPT‑3.5 Turbo ด้วยข้อมูลของตนเองให้เหมาะกับกรณีการใช้งานได้แล้ว และการปรับแต่ง GPT‑4 แบบละเอียดมีกำหนดให้บริการในฤดูใบไม้ร่วง
  • ในการทดสอบช่วงแรก GPT‑3.5 Turbo ที่ปรับแต่งแบบละเอียดทำผลงานได้เทียบเท่าหรือดีกว่า GPT‑4 พื้นฐานใน งานเฉพาะทางขอบเขตแคบ บางประเภท และข้อมูลอินพุต/เอาต์พุตของ API ยังคงเป็นกรรมสิทธิ์ของลูกค้า
  • ลูกค้า private beta พบการปรับปรุงด้าน การปฏิบัติตามคำสั่ง, ความเสถียรของรูปแบบเอาต์พุต และการปรับโทนให้เข้ากับแบรนด์ โดยการปรับแต่ง GPT‑3.5 Turbo แบบละเอียดรองรับ 4k tokens
  • early tester บางรายฝึกโมเดลให้เรียนรู้คำสั่งจนลดขนาดพรอมป์ได้สูงสุด 90% ซึ่งอาจช่วยเพิ่มความเร็วในการเรียกใช้งานและลดต้นทุน
  • เพื่อรองรับการเลิกให้บริการโมเดล GPT‑3 base เดิม จะมี babbage-002 และ davinci-002 เป็นโมเดลทดแทน และ /v1/fine_tuning/jobs ใหม่จะมาแทน /v1/fine-tunes เดิม

เปิดให้ใช้การปรับแต่ง GPT‑3.5 Turbo แบบละเอียด

  • ตอนนี้นักพัฒนาสามารถนำข้อมูลของตนเองมาปรับแต่ง GPT‑3.5 Turbo ให้เหมาะกับกรณีการใช้งานได้แล้ว
  • การปรับแต่ง GPT‑3.5 Turbo แบบละเอียดพร้อมให้ใช้งานแล้วในขณะนี้ ส่วน การปรับแต่ง GPT‑4 แบบละเอียด มีกำหนดให้บริการในฤดูใบไม้ร่วง
  • ในการทดสอบช่วงแรก GPT‑3.5 Turbo ที่ปรับแต่งแบบละเอียดให้ผลลัพธ์เทียบเท่าหรือดีกว่าความสามารถของ GPT‑4 พื้นฐานในงานเฉพาะทางขอบเขตแคบบางประเภท
  • ข้อมูลที่รับส่งผ่าน fine-tuning API เป็นกรรมสิทธิ์ของลูกค้า และ OpenAI หรือองค์กรอื่นจะไม่นำไปใช้ฝึกโมเดลอื่น

กรณีการใช้งานที่ประสิทธิภาพดีขึ้น

  • ลูกค้า private beta ปรับปรุงประสิทธิภาพในกรณีการใช้งานทั่วไปหลายแบบด้วย supervised fine-tuning
    • ปรับปรุงการปฏิบัติตามคำสั่ง: ทำให้โมเดลทำตามคำสั่งได้ดีขึ้น เช่น สร้างเอาต์พุตให้สั้น หรือให้ตอบเป็นภาษาที่กำหนดเสมอ
    • รูปแบบเอาต์พุตที่เสถียร: รักษารูปแบบที่สอดคล้องกันได้ดีขึ้นในแอปที่ต้องการรูปแบบคำตอบเฉพาะ เช่น การเติมโค้ดให้สมบูรณ์หรือการเขียน API call
    • โทนที่ปรับแต่งได้: ปรับโทนของเอาต์พุตจากโมเดลให้สอดคล้องกับน้ำเสียงของแบรนด์องค์กรได้สม่ำเสมอขึ้น
  • การปรับแต่งแบบละเอียดยังใช้ได้ไม่เพียงเพื่อเพิ่มประสิทธิภาพ แต่ยังเพื่อทำให้พรอมป์สั้นลงโดยยังคงประสิทธิภาพใกล้เคียงเดิม
  • การปรับแต่ง GPT‑3.5 Turbo แบบละเอียดรองรับ 4k tokens ซึ่งมากเป็นสองเท่าเมื่อเทียบกับโมเดลปรับแต่งแบบละเอียดรุ่นก่อนหน้าของ OpenAI
  • early tester ฝึกให้โมเดลเรียนรู้คำสั่งไว้ในตัวโมเดลเอง จึงลดขนาดพรอมป์ได้สูงสุด 90% และช่วยเพิ่มความเร็วของ API call รวมถึงลดต้นทุน
  • การปรับแต่งแบบละเอียดจะทรงพลังที่สุดเมื่อใช้ร่วมกับเทคนิคอื่น เช่น prompt engineering, information retrieval, function calling
  • วิธีใช้งานดูได้ที่ fine-tuning guide
  • การรองรับการปรับแต่งแบบละเอียดสำหรับ function calling และ gpt-3.5-turbo-16k มีกำหนดให้บริการช่วงปลายฤดูใบไม้ร่วง

การจัดการด้านความปลอดภัยและราคา

  • OpenAI ส่งข้อมูลฝึกผ่าน Moderation API และ moderation system ที่ใช้ GPT‑4 เพื่อรักษาฟีเจอร์ความปลอดภัยของโมเดลพื้นฐานไว้
  • กระบวนการ moderation นี้เป็นขั้นตอนสำหรับตรวจจับข้อมูลฝึกที่ไม่ปลอดภัยซึ่งขัดกับมาตรฐานด้านความปลอดภัย
  • ค่าใช้จ่ายในการปรับแต่ง GPT‑3.5 Turbo แบบละเอียดแบ่งเป็นค่าเรียนรู้และค่าใช้งาน
    • การเรียนรู้: $0.008 ต่อ 1K tokens
    • อินพุตการใช้งาน: $0.012 ต่อ 1K tokens
    • เอาต์พุตการใช้งาน: $0.016 ต่อ 1K tokens
  • ตัวอย่างเช่น งานปรับแต่ง gpt-3.5-turbo แบบละเอียดที่ใช้ไฟล์ฝึก 100,000 tokens เป็นเวลา 3 epochs มีค่าใช้จ่ายประมาณ $2.40

การแทนที่โมเดล GPT‑3 และการเปลี่ยนแปลง API

  • OpenAI ประกาศในเดือนกรกฎาคม 2023 ว่าจะยุติการให้บริการโมเดล GPT‑3 base เดิม ได้แก่ ada, babbage, curie, davinci ในวันที่ 4 มกราคม 2024
  • babbage-002 และ davinci-002 เป็นโมเดลทดแทนของโมเดลเหล่านั้น และสามารถใช้เป็น base model หรือ fine-tuned model ได้
  • ลูกค้าสามารถเข้าถึง babbage-002 และ davinci-002 ได้โดยเรียกใช้ Completions API
  • โมเดลเหล่านี้สามารถปรับแต่งแบบละเอียดได้ผ่าน endpoint ใหม่ของ API คือ /v1/fine_tuning/jobs
  • endpoint ใหม่นี้รองรับ pagination และความสามารถในการขยายตัวที่สูงขึ้น เพื่อสนับสนุนวิวัฒนาการในอนาคตของ fine-tuning API
  • วิธีเปลี่ยนจาก /v1/fine-tunes เดิมไปยัง endpoint ใหม่สรุปไว้ใน fine-tuning guide
  • endpoint /v1/fine-tunes เดิมจะมีสถานะ deprecated และมีกำหนดยุติการให้บริการในวันที่ 4 มกราคม 2024

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

 
GN⁺ 2023-08-23
ความคิดเห็นจาก Hacker News
  • ใครช่วยอธิบายแบบเข้าใจง่ายได้ไหมว่า fine-tuning ทำอะไรกันแน่?
    อยากรู้ว่ามันคือการสอนโมเดลว่าควรตอบคำถามอย่างไร หรือเป็นการให้ข้อมูลใหม่ หรือทั้งสองอย่าง
    เช่น ถ้าอยากใช้ LLM ตอบคำถามเกี่ยวกับ ฐานความรู้ขนาดใหญ่ที่ไม่เปิดเผยต่อสาธารณะ ควร fine-tune โมเดลด้วยฐานความรู้นั้นหรือไม่ ถ้าใช่ แล้วจะลด hallucination อย่างไร และดีกว่าวิธีใส่เอกสารที่เกี่ยวข้องลงใน prompt ทุกครั้งหรือเปล่า

    • Fine-tuning คือกระบวนการที่แสดง ตัวอย่าง sequence ที่โมเดลควรสร้าง แล้วอัปเดตโมเดลให้สร้าง sequence ที่คล้ายกับตัวอย่างเหล่านั้นได้ดีขึ้น
      ใน prompt ใหม่ คำว่า “คล้าย” หมายถึงอะไรกันแน่นั้นแทบจะเป็นมนตร์ดำของการ generalize
      ใช้สอนสไตล์ ข้อมูล หรือทั้งสองอย่างได้ แต่ไม่มีวิธีที่สมบูรณ์แบบในการบังคับให้ตอบจากข้อมูล fine-tuning เท่านั้น
      ถ้าใส่ตัวอย่างจำนวนมากที่ปฏิเสธหัวข้อที่ไม่เกี่ยวกับ X ก็อาจคาดหวังประสิทธิภาพได้ในระดับหนึ่ง
      สำหรับฐานความรู้ขนาดใหญ่ที่ไม่เปิดเผยต่อสาธารณะ โดยทั่วไปไม่แนะนำให้ fine-tune แต่แนะนำ แนวทางแบบอิงการค้นคืนข้อมูล
      เมื่อใส่ข้อมูลลงใน input จะตรวจสอบแหล่งที่มาได้ และโมเดลก็ตอบโดยไม่ hallucinate ได้ง่ายขึ้น
      อย่างไรก็ตาม การค้นคืนข้อมูลเก่งกับคำถามแบบ lookup แต่กับคำถามที่ต้องเปรียบเทียบหรือผสมข้อมูลจากหลายแหล่งอาจอ่อนกว่า ดังนั้น fine-tuning อาจมีข้อดีอยู่บ้าง
    • ตอนแรกผมก็คิดว่าการสอนข้อมูลใหม่ให้โมเดลเป็นกรณีใช้งานที่ดีของ fine-tuning แต่คนจำนวนไม่น้อยบอกว่า fine-tuning ควรใช้เพื่อเปลี่ยน รูปแบบและสไตล์ของคำตอบ มากกว่าสอนข้อมูลใหม่
      บล็อกโพสต์นี้ก็ดูจะไปทางเดียวกัน
      ก็สงสัยเหมือนกันว่า OpenAI ทำ fine-tuning อย่างไร คงไม่น่าใช่ LoRA
    • ผมว่าไม่ใช่
      อย่างที่เห็นจาก hallucination โมเดลภาษาไม่ใช่เครื่องมือสำหรับเก็บหรือเข้าถึงข้อมูล
      ถ้าต้องการเก็บและเข้าถึงข้อมูล ควรใช้ embedding + vector database มากกว่า
      Fine-tuning ใช้สำหรับเปลี่ยนประเภทภาษาที่โมเดลสร้าง
      ถ้าอยากได้ AI ที่เขียนเหมือนนักข่าว ก็ fine-tune ด้วยบทความหนังสือพิมพ์ ถ้าอยากได้ AI ที่เขียนรีวิว ก็ fine-tune ด้วยรีวิว เป็นต้น
    • Fine-tuning ที่พูดถึงตรงนี้คือ supervised fine-tuning ซึ่งให้คู่คำถาม/คำตอบกับ LLM แล้วปรับให้เข้ากับคู่เหล่านั้น
      ดู https://huyenchip.com/2023/05/02/rlhf.html
      สิ่งนี้ค่อนข้างต่างจากการ fine-tune โมเดลพื้นฐานโดยตรง หรือการทำ RLHF
      อาจเหมาะกับการ ปรับเป้าหมาย ให้โมเดลทำงานหรือมีพฤติกรรมบางอย่างในแบบเฉพาะ แทนที่จะเป็นแชตบอตทั่วไป
      ในทางกลับกัน การเพิ่มความรู้ให้บอตใกล้เคียงกับ grounded generation หรือ retrieval-augmented generation (GG/RAG) มากกว่า เป็นแนวทางที่พยายามเสริมข้อมูลใหม่ เช่น ข้อมูลลับ ให้กับโมเดลพื้นฐาน
      สำหรับการถามตอบกับฐานความรู้ขนาดใหญ่ที่ไม่เปิดเผยต่อสาธารณะ มองว่าไม่เหมาะ และ GG/RAG เหมาะกว่า
      มีบทความที่เพิ่งเขียนเกี่ยวกับเรื่องนี้ด้วย: https://vectara.com/fine-tuning-vs-grounded-generation/
    • deeplearning.ai ของ Andrew Ng เพิ่งออกคอร์สเรื่องนี้เมื่อวาน: https://www.deeplearning.ai/short-courses/finetuning-large-l...
      มองในระดับสูง มันช่วยให้ใส่ข้อมูลลงไปในโมเดลได้มากกว่าที่ใส่ใน prompt ได้
      ฐานความรู้ขนาดใหญ่ที่ไม่เปิดเผยต่อสาธารณะเป็นหนึ่งในตัวอย่างหลักในคอร์สนั้น และสำหรับสถานการณ์ที่ต้องการความเฉพาะโดเมนหรือความเป็นส่วนตัว การ fine-tuning อาจสมเหตุสมผลกว่าการ prompting
  • ประโยคที่ว่า “ข้อมูลฝึกสำหรับ fine-tuning จะผ่าน Moderation API และระบบตรวจสอบที่ใช้ GPT-4” ฟังดูน่าจะมีค่าใช้จ่ายไม่น้อย
    ดูจากราคา API แล้ว การรัน GPT-4 inference แพงกว่าการฝึกโมเดล ดังนั้นน่าจะใช้ GPT-4 เฉพาะตอนที่การตัดสินด้านความปลอดภัยก้ำกึ่งเท่านั้น

    • นี่ดูเหมือนข้อเสียสำคัญเลย
      ถ้ารู้อยู่แล้วว่าต้องการภาษาประเภทไหน ก็ไม่เข้าใจว่าทำไมต้องปล่อยให้ OpenAI ตรวจสอบ ชุดข้อมูลสำหรับปรับพารามิเตอร์ ของผมด้วย
  • เวลาจะ fine-tune Llama2 13B หรือ 70B ปกติต้องเช่า cloud GPU เลยสงสัยว่าเมื่อเทียบกับ fine-tuning ของ OpenAI เป็นอย่างไร
    OpenAI ไม่ต้องเช่าโครงสร้างพื้นฐานเอง และรวมอยู่ในค่าบริการที่จ่าย อยากฟังการเปรียบเทียบจากมุมมองของคนที่เคย fine-tune โมเดล Llama2

    • ไม่ใช่ผู้เชี่ยวชาญด้านนี้ แต่เคยลอง fine-tune GPT-3 ผ่าน API อยู่บ้าง
      ผมมองว่า “fine-tuning” ของ GPT ต่างจากการ fine-tune โมเดลอย่าง Llama2
      น่าจะไม่ได้ปรับ weight ทั้งหมดของเครือข่าย แต่ปรับแค่ส่วนเล็กมาก ๆ และวิธีที่ OpenAI ทำจริง ๆ เป็นเทคโนโลยีกรรมสิทธิ์
      จุดแลกเปลี่ยนคือ fine-tuning ของ OpenAI ถูกกว่า แต่ พลังน้อยกว่า fine-tuning “ของจริง”
    • ยังไม่เคย fine-tune GPT-3.5-turbo แต่โดยรวมแล้ว llama2 น่าจะถูกกว่ามาก
      โดยเฉพาะถ้า 13B ก็เพียงพอ และบน modal.com สามารถใช้ inference ของโมเดล llama2 13B ที่ fine-tune แล้วได้ประมาณ $0.003 ต่อ 1K tokens
      แน่นอนว่ายังมีตัวเลือกที่ถูกกว่านั้น
      ถ้าข้อมูลไม่ได้เยอะมาก ค่าใช้จ่ายในการฝึก llama2 ก็มักอยู่แค่ระดับไม่กี่ดอลลาร์
  • พอเห็นว่า davinci-002 ถูกให้บริการเป็น completion model ก็คิดว่าพวกเขากลับมาให้บริการโมเดลที่ “ไม่ปลอดภัย” อีกหรือเปล่า แต่ทั้ง davinci-002 และ babbage-002 จะติด infinite loop เมื่อเจอ completion request ที่ “ไม่ปลอดภัย”
    text-davinci-003 กับ text-curie-001 ใช้งานได้ดี แต่ดูเหมือน OpenAI ไม่อยากให้บริการ โมเดลไม่ถูกเซ็นเซอร์ สำหรับใช้งานจริง ๆ

    • โมเดลที่ “ไม่ปลอดภัย” คืออะไร?
  • ค่าใช้จ่ายในการสร้างข้อความของ GPT-3.5 Turbo ที่ fine-tune แล้วสูงกว่าโมเดลพื้นฐาน 8 เท่า ดังนั้นถ้าจะให้คุ้มต้นทุน ต้องเข้าไปอยู่ในช่วงที่ OpenAI พูดว่า “ลดขนาดพรอมป์ลง 90%”

    • 8 เท่าเป็นความต่างที่ใหญ่มาก
      อาจจะดีกว่าด้วยซ้ำถ้าใส่ตัวอย่างสักสองสามอย่างในทุกพรอมป์เพื่อชี้นำเอาต์พุตด้วย few-shot prompting
      แน่นอนว่าไม่เหมาะกับทุกกรณีใช้งาน แต่ก็คุ้มที่จะทดลอง
      แถม function calling ก็ยังใช้ไม่ได้จนกว่าจะหลังฤดูใบไม้ร่วงปีนี้
      ตอนนี้การใช้งานส่วนใหญ่ของผมเป็น function calling เลยคงขอผ่านไปก่อน
      อยากรู้ข้อสรุปเกี่ยวกับการ fine-tune ของ OAI และก่อนหน้านี้ในเธรดนี้บรรยากาศเหมือนว่าไม่ได้จำเป็นขนาดนั้น: https://news.ycombinator.com/item?id=37174850
    • จาก https://twitter.com/OfficialLoganK/status/169406294917713961... ผู้ใช้ทดสอบช่วงแรกบอกว่า fine-tune คำสั่งเข้าไปในตัวโมเดลเอง จึงลดขนาดพรอมป์ได้สูงสุด 90% และทำให้แต่ละ API call เร็วขึ้นและถูกลง
      เลยสงสัยว่า 90% นั้นเป็นตัวเลขที่มาจากการคำนวณข้างบนหรือเปล่า
    • ถ้าเอาไปเทียบกับ GPT-4 ก็น่าจะถูกลงกว่ามากไม่ใช่หรือ
    • อยากเห็นตัวอย่างว่าในบริการจริงเขา fine-tune กันอย่างไร ใส่อะไรลงไประหว่างการฝึก และหลัง fine-tune แล้วโต้ตอบกับโมเดลต่างจากตอนที่ยังไม่ได้ทำอย่างไร
    • ผมมองว่า fine-tuning เป็นเส้นทางที่จะลดต้นทุน inference ของ LLM ได้อย่างมาก จึงเป็นพัฒนาการที่น่าสนใจ
      ถ้าเทียบเฉพาะ GPT-3.5-turbo กับ GPT-3.5-turbo ที่ fine-tune แล้วก็ถูกต้องตามนั้น แต่ถ้าคล้ายกับการ fine-tune โมเดล Llama-2 ก็น่าจะทำ ประสิทธิภาพระดับ GPT-4 ได้ในหลายกรณีใช้งานจริง เช่น การสร้างคำสั่ง SQL
      อย่างไรก็ตาม คณิตศาสตร์หรือการเขียนโค้ดน่าจะยังยาก เว้นแต่จะ fine-tune ด้วยข้อมูลจำนวนมากพอสมควร
      ที่จริงโมเดล Llama-2 ขนาด 7B ก็เคยแสดงประสิทธิภาพระดับ GPT-4 หลัง fine-tune มาแล้ว: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
  • สำหรับผม GPT-3.5 แย่เกินไปจนใช้ประโยชน์ไม่ได้
    ในงานเขียนก็ชอบใช้ศัพท์เทคนิคแบบเดิม ๆ ซ้ำ ๆ ส่วนงานโค้ดก็ผิดบ่อยเกินไป และงานประมวลผลภาษาธรรมชาติก็ต้องพูดให้ชัดเจนกว่ามาก จนรู้สึกเหมือนแชตบอตทั่วไป
    GPT-4 เดือนละ $20 ดีกว่ามากในทุกด้าน และผมยังใช้กับงาน Angular ด้วย
    เมื่อ AI อธิบายเหตุผลทุกอย่างให้ เฟรมเวิร์กที่ออกแบบเกินจำเป็นนี้ก็เริ่มเข้าใจได้จริง ๆ
    เหมาะมากที่จะมีไว้เป็นนักแปล ครู และผู้ช่วยแก้ปัญหา และถ้ามันดีขึ้นกว่านี้ ก็นึกภาพไม่ออกเลยว่าจะยังไป Google เพื่อหาคำตอบของปัญหาอีกทำไม
    ฟีเจอร์ที่อยากได้คือการแบ่งพรอมป์ในตัว
    เลิกสนใจ GPT รุ่นเก่า ๆ กับการถกเถียงเรื่องจริยธรรมปลอม ๆ แล้วโฟกัสที่เทคโนโลยีเวอร์ชันที่ดีที่สุดนี้ ขายเดือนละ $20 ก็น่าจะทำเงินได้เป็นหมื่นล้านและเขย่าหลายอย่างบนโลกออนไลน์ได้

    • ผมทดลอง Llama 2 ทั้งแบบถูกเซ็นเซอร์และไม่ถูกเซ็นเซอร์มามาก และสรุปว่า fine-tuning เพื่อ ความถูกต้องทางการเมืองและจริยธรรม ส่งผลเสียต่อทุกคำตอบ
      คำตอบจะซ้ำซากและจืดชืด
    • ดีใจที่ไม่ได้มีแค่ผมคนเดียวที่รู้สึกว่า Angular เป็นกองความวุ่นวายที่ออกแบบเกินจำเป็น
    • สำหรับกรณีใช้งานอย่างผู้ช่วย Angular ถ้า GPT-3.5 ที่ fine-tune แล้วจะไปแข่งกับ GPT-4 ได้ คงต้องใช้ข้อมูลมากพอจนใกล้เคียงกับ pretraining มากกว่า fine-tuning
      ถ้าไม่ได้จะทำมันเป็นผลิตภัณฑ์ ก็คงไม่คุ้มแรงนัก
      แต่ผลิตภัณฑ์หรือฟีเจอร์ LLM ที่มีมูลค่าจำนวนมากมีขอบเขตแคบกว่า และสามารถเห็นการปรับปรุงครั้งใหญ่จาก fine-tuning ได้
      เช่น ในงาน สร้างคำสั่ง SQL เคยมีการทดลองที่ fine-tune โมเดล Llama-2 ขนาด 7B แล้วเอาชนะ GPT-4 ได้ด้วย: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe...
    • ใช้ code interpreter อัปโหลดไฟล์ แล้วพรอมป์ให้มันถามคำถามทีละข้อเพื่อรู้ว่าควรทำอะไรต่อไปก็ได้
    • ผมคิดว่า LLM ทำงานได้ดีที่สุดในฐานะ เครื่องมือค้นหาแบบเลือน ๆ
      LLM จะเด่นในเวลาที่ตั้งคำถามให้เหมาะกับ Google ได้ยาก
      คำถามอย่าง “เคยได้ยินงานวิจัยของ Google เกี่ยวกับพนักงานใหม่กับ GPA ซึ่งบอกว่าถ้า GPA เกิน 3.0 แล้วก็ไม่ต่างกัน คุณช่วยส่งลิงก์งานวิจัยนั้นให้ได้ไหม? มีงานวิจัยต่อยอดไหม?” หาใน Google ได้ยาก และมักถูกกลบด้วยลิงก์เกี่ยวกับ GPA ขั้นต่ำกับการหางาน
      Bard ให้ข้อมูลเกี่ยวกับ Laszlo Bock และหนังสือของเขา ทำให้ค้นหาแบบเจาะจงขึ้นได้ เช่น “Laszlo Bock Google GPA”
      ผมลองใส่ประโยคเดียวกันใน LLM หลายตัว ChatGPT ตอบว่ามีข้อจำกัดด้านความรู้, Bard หาเจอทันที ส่วน Hugging Face Chat ให้ทั้ง Bock, Project Oxygen และ Project Aristotle จึงดีที่สุด
      Claude หาเอกสารวิจัยไม่เจอแต่เสนอผู้สมัครอื่น ๆ ให้ และ LLaMa ก็หาไม่เจอเช่นกัน แต่เสนอ Google research กับชื่อบางคนมา
      ผมเห็นด้วยกับคำกล่าวที่ว่า fine-tuning เพื่อความถูกต้องทำให้ผลลัพธ์แย่ลง
      alignment ในเวลาเดียวกันก็เป็น misalignment ด้วย เพราะมันคือการเลื่อนการแจกแจงความน่าจะเป็น จึงต้องมีการแลกเปลี่ยนเสมอ
      น่าเสียดายที่งานวิจัยในด้านนี้ไม่เป็นที่นิยม และวิธีที่จำเป็นก็ต้องอาศัยการถกเถียงเชิงลึกเกี่ยวกับเครือข่ายกับความน่าจะเป็นและการแจกแจง ซึ่งมีข้อถกเถียงมาก ทำให้ตอนนี้ดูเหมือนจะถูกปฏิเสธได้ง่ายในงานประชุมชั้นนำ
      การปรับแต่งตามความชอบของมนุษย์ ที่จริงแล้วไม่ใช่การปรับแต่งตามความรู้ แต่เป็นการปรับให้เข้ากับผลลัพธ์ที่มนุษย์ชอบ
      เท่ากับใส่อคติที่แฮ็กมนุษย์ซึ่งเป็นตัวชี้วัดการประเมินเข้าไปในโมเดล ดังนั้นแม้ความถูกต้องเชิงข้อเท็จจริงโดยเฉลี่ยจะสูงขึ้น ก็อาจทำให้ LLM แย่ลงได้โดยทำให้มันเสนอข้อมูลผิดอย่างน่าเชื่อถือมากขึ้น
      ต้องระวัง Simpson’s paradox และ Berkson’s paradox อย่างมาก เพราะวิธีรวบรวมข้อมูลทำให้การประเมินพังได้ และโดยพื้นฐานแล้วเรากำลังปรับแต่งผ่าน Goodhart’s law
  • ถ้ามีใครเคยไฟน์จูนโมเดลขนาดใหญ่แบบนี้มาก่อน ก็อยากรู้ว่าโดยทั่วไปต้องใช้ข้อมูลมากแค่ไหนถึงจะเห็นผล
    อยากรู้ว่า 100k โทเคนที่ระบุในเอกสารนั้นส่งผลต่อพฤติกรรมของโมเดลพื้นฐานได้มากจริงไหม หรือเป็นแค่ตัวอย่างเล่น ๆ

    • ตามคู่มือไฟน์จูนที่เพิ่งอัปเดตใหม่ หากต้องการไฟน์จูนโมเดลต้องมีตัวอย่างอย่างน้อย 10 รายการ และสำหรับ gpt-3.5-turbo มักเห็นการปรับปรุงที่ชัดเจนได้ด้วยตัวอย่างสำหรับฝึกเพียง 50~100 รายการ
      จำนวนที่แน่นอนแตกต่างกันมากตามกรณีใช้งาน
      แนะนำให้เริ่มจาก เดโม 50 รายการที่ทำมาอย่างดี แล้วดูว่ามีสัญญาณการปรับปรุงหรือไม่
      แม้จะยังไม่พอ แต่ถ้าเห็นการปรับปรุง ก็มีโอกาสที่จะดีขึ้นต่อเนื่องเมื่อเพิ่มข้อมูลเข้าไปอีก และถ้าไม่เห็นการปรับปรุง ก็ควรทบทวนการตั้งค่างานหรือโครงสร้างข้อมูลใหม่ก่อนจะเพิ่มจำนวนตัวอย่าง
    • เคยลองไฟน์จูนกับ AI assistant ที่กำลังทำอยู่ค่อนข้างเยอะ และพอเกิน 200~300 ตัวอย่าง ก็เห็นการปรับปรุงที่ดี
    • ดูการไฟน์จูนแบบสั่งงานเพื่อเปลี่ยนโมเดลสำเร็จรูปให้เป็นโมเดลผู้ช่วยได้
      แค่ตัวอย่างไม่กี่พันรายการก็สามารถเปลี่ยนพฤติกรรมของโมเดล รวมถึงเนื้อหาและรูปแบบเอาต์พุตได้ค่อนข้างมาก
      กลไกอย่าง LoRA เป็นวิธีไฟน์จูนที่มีประสิทธิภาพมาก แลกกับการสูญเสียความแม่นยำบ้าง และแม้เปลี่ยนแค่ไม่กี่เลเยอร์ด้านบนก็ทำให้โมเดลเปลี่ยนไปได้มากพอสมควร
    • เคยทดลองกับชุดข้อมูลในช่วง 5K~100K ตัวอย่าง และได้ผลลัพธ์ยอดเยี่ยม
      ตัวอย่างมี https://huggingface.co/datasets/b-mc2/sql-create-context และ https://huggingface.co/datasets/GEM/viggo
      ในทางกลับกัน สำหรับการเรียนแก้โจทย์คณิตศาสตร์ระดับประถม แม้ 8K ตัวอย่างก็ยังไม่เพียงพอ ดังนั้นจึง ขึ้นกับปัญหาอย่างมาก
      อ้างอิง: https://www.anyscale.com/blog/fine-tuning-llama-2-a-comprehe..., https://huggingface.co/datasets/gsm8k
    • มีผลมาก
      เริ่มเห็นการปรับปรุงตั้งแต่ 1000 โทเคน
  • ดูเหมือนเป็นกระบวนการที่เอาสิ่งที่เดิมบอกว่าจะเปิดเผยออกมาเป็นเบต้าฟรี แก้บั๊ก แล้วปล่อยรุ่นพี่น้องที่ทรงพลังกว่าเป็นบริการสมัครสมาชิก จากนั้นลดความสามารถของทั้งคู่ลงอย่างมาก แล้วปล่อยไฟน์จูนเพื่อให้ GPT-3.5 ที่ถูกลดความสามารถกลับมาใกล้เคียงระดับตอนเปิดตัวได้ แต่จะทำได้ก็ต่อเมื่อไฟน์จูนอย่างถูกต้อง และเก็บเวอร์ชันที่ไม่ถูกลดความสามารถไว้ใช้ภายใน Microsoft ก่อนจะทำกำไร
    อย่างน้อย Google ก็ตรงไปตรงมากว่า
    แนวทางคือมีผลิตภัณฑ์ที่ดีที่สุดอยู่ แต่มีคุณค่ามากกว่าในฐานะเครื่องมือภายในจึงไม่เปิดเผย และหลัง GPT เปิดตัวก็ประกาศ Bard เพื่อพยุงราคาหุ้น แต่มันไม่ค่อยดี และคงจะไม่เปิดตัวจริงจังด้วยซ้ำ
    ถึงอย่างนั้น Meta ก็ยังปล่อย โอเพนซอร์สออกมา แม้จะเป็นเวอร์ชันที่ถูกลดความสามารถก็ตาม
    เมื่อไม่กี่เดือนก่อน GPT-4 ช่วยเพิ่มผลิตภาพได้มหาศาลจริง ๆ แต่ตอนนี้รู้สึกเหมือนกลับมาเป็นนักพัฒนาคนเดียวอีกครั้ง
    ตอนนี้ใช้แล้วมักเสียเวลาแก้ข้อผิดพลาดมากกว่าเวลาที่ประหยัดได้ จึงมีหลายครั้งที่ทำเองดีกว่า
    เพราะฉะนั้นก็เข้าใจเหตุผลที่ไม่อยากให้คนอื่นใช้
    ถ้าจะมาตอบแบบผิดเห็น ๆ ว่า “ไม่ได้ถูกลดความสามารถ” ก็อย่าทำให้เสียเวลาเลย

  • อยากรู้เรื่องความเป็นส่วนตัว
    OpenAI บอกว่าไม่ใช้การเรียก API เพื่อฝึกโมเดล แต่อยากรู้ว่า OpenAI หรือ Microsoft ยังเก็บข้อความไว้หรือไม่ และถ้าเก็บ เก็บไว้นานแค่ไหน
    โดยรวมถือว่ายอดเยี่ยม และตั้งตารอ ไฟน์จูน 16k

    • การเรียก OpenAI API โดยตรงยังไม่แน่ใจ แต่ผลิตภัณฑ์ที่ให้บริการผ่าน Azure จะเก็บพรอมป์ต์และเอาต์พุตไว้ 30 วัน เพื่อเฝ้าระวังการใช้งานในทางที่ผิด
      หากต้องการยกเว้นข้อกำหนดนี้ มีแบบฟอร์มให้ยื่นขอ
      https://learn.microsoft.com/en-us/legal/cognitive-services/o...
    • ในกรณีส่วนใหญ่ สูงสุด 30 วัน: https://platform.openai.com/docs/models/default-usage-polici...
      พวกเขาไม่ได้ทำเรื่องน่าสงสัยกับข้อมูลที่เก็บไว้ และมีวัตถุประสงค์ตามตัวอักษรเพียงเพื่อสืบสวนการละเมิดด้านความน่าเชื่อถือและความปลอดภัยที่อาจเกิดขึ้นในช่วงสั้น ๆ หลังเหตุการณ์เท่านั้น
    • โมเดลที่ไฟน์จูนแล้วอยู่บนเซิร์ฟเวอร์ของ OpenAI หรือเปล่า?
      ถ้าใช่ ก็อยากรู้ว่า การรับประกันความเป็นส่วนตัวคืออะไร ที่ทำให้มั่นใจว่า OpenAI จะไม่นำไปใช้ขยาย GPT-5 ในภายหลัง
  • ค่อนข้างน่าสนใจ
    นี่เป็นครั้งแรกที่โมเดล “Chat” ของ OpenAI สามารถไฟน์จูนได้
    ตอนนี้อยากรู้ว่ามีใครลองใช้โมเดลที่ไฟน์จูนแล้วหลบ ตัวตรวจจับ AI บ้างหรือยัง
    รู้ว่าเป็นไปได้ แต่อยากพอจับทางได้ว่าควรจัดชุดข้อมูลอย่างไร

    • ตัวตรวจจับ AI ตอนนี้ห่วยแตกมาก
      คนที่จ่ายเงินใช้กำลังถูกหลอก และคนที่เอาไปใช้ตัดสินใจจริงกำลังทำผิดพลาดร้ายแรง
      น่าเสียดายจริง ๆ ที่บางโรงเรียนใช้ ตัวตรวจจับ AI เพื่อจับว่านักเรียนเขียนเรียงความด้วย ChatGPT หรือไม่
      มีหลายกรณีที่เรียงความซึ่งเห็นได้ชัดว่ามนุษย์เขียนถูกระบุว่าเป็นงานที่ AI สร้าง
      แค่ลองให้ ChatGPT เขียนเรียงความเล่นสัก 30 นาที ก็จะเข้าใจสไตล์การเขียนของ ChatGPT
      ถ้าให้พรอมป์ต์ดี ๆ ก็ทำให้เขียนในสไตล์อื่นได้ แต่พูดตรง ๆ คนที่ใช้ ChatGPT ทำการบ้านมักไม่พยายามทำให้มันดูไม่เหมือน ChatGPT
    • ถ้าลองใช้ “ตัวตรวจจับ” AI จริง ๆ ความแม่นยำก็ระดับโยนเหรียญ
      มันใช้งานไม่ได้ และตอนนี้ก็ตรวจจับ ข้อความที่ GPT สร้างไม่ได้แล้ว
    • ตัวตรวจจับ AI เป็นผลิตภัณฑ์หลอกลวง
      เป็นไปไม่ได้ที่จะตรวจจับได้อย่างน่าเชื่อถือว่าข้อความนั้นสร้างโดยมนุษย์หรือ ChatGPT
    • จะต้องไฟน์จูนไปทำไมกัน?
      ตัวตรวจจับแบบนั้นพังยับอยู่แล้ว และแค่ชี้นำกระบวนการคิดแบบง่าย ๆ ก็ได้ผลลัพธ์ที่ไม่ได้ “ฟังดู” เหมือน ChatGPT แล้ว
      หลังจากนั้น โอกาสถูกตรวจว่าเป็น AI ก็ใกล้เคียงกับงานเขียนของมนุษย์
    • แค่ใช้โมเดลพื้นฐานก็น่าจะทำได้ง่าย ๆ