1 คะแนน โดย GN⁺ 2024-06-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Gemma 2 ของ Google DeepMind เป็นตระกูลโมเดลเปิดน้ำหนักเบาขนาด 2B·9B·27B ที่เปิดตัวโดยตั้งเป้าให้โมเดลขนาดเล็กสามารถแข่งขันด้านประสิทธิภาพกับโมเดลที่ใหญ่กว่าได้
  • รุ่น 2B และ 9B ใช้ knowledge distillation แทนการทำนายโทเคนถัดไป ส่วน 27B ถูกฝึกตั้งแต่ต้น ทำให้ใช้กลยุทธ์การฝึกต่างกันตามขนาดโมเดล
  • ในเชิงสถาปัตยกรรม มีการผสาน การสลับ local-global attention, Grouped-Query Attention, logit soft-capping และ RMSNorm แบบ pre-norm·post-norm เพื่อมุ่งทั้งประสิทธิภาพและสมรรถนะ
  • ข้อมูลฝึกส่วนใหญ่เป็นเอกสารเว็บภาษาอังกฤษ โค้ด และวรรณกรรมวิทยาศาสตร์ ไม่ใช่โมเดลที่มุ่งเน้นมัลติโมดัลหรือประสิทธิภาพหลายภาษาระดับแนวหน้า
  • ในการประเมิน โมเดลทำได้ดีกว่าโมเดลเปิดขนาดใกล้เคียงกัน แต่ก่อนนำไปใช้งานจริงยังจำเป็นต้องมี การทดสอบความปลอดภัยตามกรณีใช้งาน

ภาพรวมโมเดล Gemma 2

  • Gemma 2 เป็นโมเดลเปิดน้ำหนักเบารุ่นใหม่ในตระกูล Gemma โดยมีขนาดพารามิเตอร์ 2B, 9B และ 27B
  • โมเดล 2B และ 9B ถูกฝึกด้วย knowledge distillation แทนการทำนายโทเคนถัดไป
    • ใช้โมเดลภาษาขนาดใหญ่เป็นโมเดลครู เพื่อให้โมเดลนักเรียนเรียนรู้การกระจายของโทเคนถัดไปที่เป็นไปได้สำหรับแต่ละโทเคน
    • 2B และ 9B ถูกฝึกแบบ distillation ด้วยจำนวนโทเคนมากกว่าค่าทฤษฎี compute-optimal มากกว่า 50 เท่า
  • โมเดล 27B ถูกฝึกขึ้นใหม่ตั้งแต่ต้นสำหรับงานนี้
  • ประสิทธิภาพดีขึ้นอย่างมากเมื่อเทียบกับโมเดลเปิดขนาดใกล้เคียงกัน และในบาง benchmark กับการประเมินโดยมนุษย์ก็ให้ผลที่แข่งขันกับโมเดลที่ใหญ่กว่า 2~3 เท่าได้
  • ก่อนใช้งานจริง ผู้ใช้ทุกคนต้องทำ การทดสอบความปลอดภัย ให้สอดคล้องกับบริบทการ deploy หรือการใช้งาน

สถาปัตยกรรมโมเดลและตัวเลือกการออกแบบ

  • Gemma 2 ใช้สถาปัตยกรรม decoder-only Transformer คล้ายกับ Gemma รุ่นก่อน
  • องค์ประกอบการออกแบบร่วมมีดังนี้
    • ความยาวคอนเท็กซ์: 8192 โทเคน
    • RoPE positional embedding
    • nonlinearity แบบ GeGLU
    • tokenizer แบบ SentencePiece ที่มีคำศัพท์ 256,128 รายการ
    • ใช้ tied embedding
  • การเปลี่ยนแปลงสถาปัตยกรรมหลักเน้นที่ attention และ normalization
    • วาง local sliding window attention และ global attention แบบสลับกันทีละเลเยอร์
      • sliding window ของ local attention คือ 4096 โทเคน
      • ช่วงของ global attention คือ 8192 โทเคน
    • ใช้ logit soft-capping กับ attention layer และ final layer
      • soft_cap ของ self-attention layer คือ 50.0
      • soft_cap ของ final layer คือ 30.0
    • ใช้ RMSNorm ทั้งที่อินพุตและเอาต์พุตของแต่ละ Transformer sub-layer จึงใช้ทั้ง pre-norm และ post-norm
    • Grouped-Query Attention ได้รับการยืนยันจากการทดลองแบบ ablation ว่ารักษาประสิทธิภาพไว้ได้พร้อมเพิ่มความเร็วในการอนุมาน

ข้อมูลฝึกและโครงสร้างพื้นฐาน

  • จำนวนโทเคน pretraining แตกต่างกันตามขนาดโมเดล
    • Gemma 2 27B: 13 ล้านล้านโทเคน
    • Gemma 2 9B: 8 ล้านล้านโทเคน
    • Gemma 2 2B: 2 ล้านล้านโทเคน
  • ข้อมูลฝึกเป็น ภาษาอังกฤษเป็นหลัก และประกอบด้วยแหล่งข้อมูลหลากหลาย เช่น เอกสารเว็บ โค้ด และวรรณกรรมวิทยาศาสตร์
  • โมเดลนี้ไม่ใช่โมเดลมัลติโมดัล และไม่ได้รับการฝึกแยกต่างหากเพื่อมุ่งสู่ประสิทธิภาพหลายภาษาระดับแนวหน้า
  • การกรองข้อมูลใช้แนวทางเดียวกับ Gemma 1
    • ลดข้อความที่ไม่พึงประสงค์หรือไม่ปลอดภัย
    • ลบข้อมูลส่วนบุคคลเฉพาะเจาะจงและข้อมูลอ่อนไหว
    • กำจัดการปนเปื้อนของชุดประเมิน
    • ลดความเสี่ยงจากการทำซ้ำเอาต์พุตอ่อนไหว
  • โครงสร้างพื้นฐานการฝึกสร้างบน TPU
    • 2B: TPUv5e 512 ชิป
    • 9B: TPUv4 4096 ชิป
    • 27B: TPUv5p 6144 ชิป
  • คาดการณ์การปล่อยคาร์บอนจาก pretraining อยู่ที่ 1247.61 tCO2eq
    • คำนวณจากการใช้พลังงานรายชั่วโมงของศูนย์ข้อมูล TPU
    • ความเป็นกลางทางคาร์บอนของศูนย์ข้อมูล Google บรรลุผ่านประสิทธิภาพพลังงาน การซื้อพลังงานหมุนเวียน และการชดเชยคาร์บอน

การฝึกภายหลังและรูปแบบบทสนทนา

  • การฝึกภายหลังเป็นกระบวนการ fine-tune โมเดล pretraining ให้เป็น instruction-tuned model
  • ขั้นตอนการฝึกมีดังนี้
    • ทำ SFT ด้วยคู่ prompt-response แบบ synthetic และที่มนุษย์สร้างขึ้นสำหรับข้อความภาษาอังกฤษเท่านั้น
    • ใช้ reward model ที่ฝึกจากข้อมูล preference ภาษาอังกฤษเพื่อทำ RLHF
    • นำโมเดลที่ได้จากแต่ละขั้นตอนมาเฉลี่ยเพื่อปรับปรุงประสิทธิภาพโดยรวม
  • การผสมข้อมูลและสูตรการฝึกภายหลังถูกเลือกโดยยึดเกณฑ์การเพิ่ม helpfulness การรับประกันความปลอดภัย และการลดอันตรายจาก hallucination
  • ข้อมูลฝึกภายหลังหลัง Gemma 1.1 ถูกขยายโดยผสมข้อมูลภายในกับข้อมูลสาธารณะภายนอก
    • ใน LMSYS-chat-1M ใช้เฉพาะ prompt และไม่ใช้ answer
  • ข้อมูล synthetic ผ่านหลายขั้นตอนการกรอง
    • ข้อมูลส่วนบุคคล
    • เอาต์พุตโมเดลที่ไม่ปลอดภัยหรือ toxic
    • ข้อมูลการระบุตัวตนของโมเดลที่ไม่ถูกต้อง
    • ตัวอย่างซ้ำ
  • Gemma 2 ใช้ control token แบบเดียวกับ Gemma 1 แต่ formatting schema ต่างออกไป
    • โมเดลจะสร้างโทเคน <end_of_turn><eos> อย่างชัดเจนเมื่อจบการสร้าง
    • ก่อนหน้านี้สร้างเพียง <eos>

การทดลอง knowledge distillation และการเลือกสถาปัตยกรรม

  • ในการเปรียบเทียบโมเดล 2B ที่ฝึกด้วย 500B โทเคน การฝึกแบบ distillation ให้ประสิทธิภาพสูงกว่าโมเดลที่ฝึกตั้งแต่ต้น
    • ค่าเฉลี่ย 3 benchmark: from scratch 60.3, distilled 67.7
    • 500B มากกว่าจำนวนโทเคน compute-optimal ของโมเดล 2B ถึง 10 เท่า
  • ในการเปรียบเทียบ validation perplexity ของโมเดล 200M, 400M และ 1B โมเดล distilled ก็มี perplexity ต่ำกว่าเช่นกัน
    • 200M: from scratch 23, distilled 21
    • 400M: from scratch 19, distilled 17
    • 1B: from scratch 17, distilled 15
  • ในโมเดล 9B ความต่างด้านประสิทธิภาพระหว่าง GQA กับ MHA มีน้อย และเลือก GQA เพราะใช้พารามิเตอร์น้อยกว่าและเร็วกว่าในระหว่างอนุมาน
    • ค่าเฉลี่ย 4 benchmark: MHA 50.3, GQA 50.8
  • ที่จำนวนพารามิเตอร์ 9B เท่ากัน โครงสร้างที่ลึกกว่าทำผลงานดีกว่าโครงสร้างที่กว้างกว่าเล็กน้อย
    • ค่าเฉลี่ย 4 benchmark: Wide 50.8, Deep 52.0
  • แม้เปลี่ยนขนาด sliding window ระหว่างการอนุมานเป็น 4096, 2048 และ 1024 ผลกระทบต่อ perplexity ก็มีจำกัด
    • 4096: 1.63
    • 2048: 1.63
    • 1024: 1.64

ผล benchmark อัตโนมัติ

  • โมเดล pretraining 27B ถูกเปรียบเทียบกับ Qwen1.5 32B และ LLaMA-3 70B ในการประเมินของ HuggingFace
    • MMLU: Gemma-2 27B 75.2, Qwen1.5 32B 74.3, LLaMA-3 70B 79.2
    • GSM8K: Gemma-2 27B 74.0, Qwen1.5 32B 61.1, LLaMA-3 70B 76.9
    • ARC-c: Gemma-2 27B 71.4, Qwen1.5 32B 63.6, LLaMA-3 70B 68.8
    • HellaSwag: Gemma-2 27B 86.4, Qwen1.5 32B 85.0, LLaMA-3 70B 88.0
    • Winogrande: Gemma-2 27B 83.7, Qwen1.5 32B 81.5, LLaMA-3 70B 85.3
  • โมเดล 2B และ 9B ก็ปรับปรุงขึ้นมากเมื่อเทียบกับ Gemma รุ่นก่อน
    • โมเดล 9B ปรับปรุงขึ้นได้สูงสุด 10% จากรุ่นก่อนหน้าในบาง benchmark
    • Gemma 2 2B ถูกฝึกด้วยจำนวนโทเคนใกล้เคียงกับ Gemma 1 2B แต่ประสิทธิภาพดีขึ้น
  • ค่าเฉลี่ยรวมของหลาย benchmark มีดังนี้
    • Gemma 1 2B: 44.2
    • Gemma 2 2B: 48.7
    • Gemma 1 7B: 57.9
    • Gemma 2 9B: 64.9
    • Gemma 2 27B: 69.4

การประเมินโดยมนุษย์และ Chatbot Arena

  • instruction-tuned model ของ Gemma 2 ถูกประเมินใน LMSYS Chatbot Arena แบบ blind side-by-side
  • คะแนน Elo มีดังนี้
    • gemma-2-27b-it: 1218
    • gemma-2-9b-it: 1187
    • gemma-2-2b-it: 1126
  • ผลการเปรียบเทียบแสดงให้เห็นถึงความสามารถในการแข่งขันเมื่อเทียบกับขนาดโมเดล
    • gemma-2-27b-it สูงกว่า Elo 1206 ของ llama-3-70b-instruct
    • gemma-2-9b-it ใกล้เคียงกับ Elo 1186 ของ gpt-4-0314
    • gemma-2-2b-it สูงกว่า Elo 1116 ของ gpt-3.5-turbo-0613
  • ในการประเมินความชอบของมนุษย์แยกต่างหาก มีการวัดความปลอดภัยและการทำตามคำสั่งด้วย held-out single-turn prompt
    • instruction following: Gemma 1.1 IT 7B 24.3%, Gemma 2 IT 2B 26.5%, 9B 34.1%, 27B 37.7%
    • safety: Gemma 1.1 IT 7B 42.8%, Gemma 2 IT 2B 57.5%, 9B 57.8%, 27B 55%
  • การประเมินแบบหลายเทิร์นดำเนินการด้วย held-out scenario 500 รายการ และมี user turn เฉลี่ย 8.4 ครั้ง
    • ความพึงพอใจของผู้ใช้: Gemma 1.1 IT 7B 3.32, Gemma 2 IT 2B 3.64, 9B 4.04, 27B 4.20
    • การบรรลุเป้าหมายของบทสนทนา: Gemma 1.1 IT 7B 3.36, Gemma 2 IT 2B 3.88, 9B 4.08, 27B 4.24

การจดจำข้อมูลและข้อมูลส่วนบุคคล

  • โมเดลภาษาขนาดใหญ่สามารถ ส่งออกข้อมูลฝึกแบบเดิมเป๊ะ ได้ภายใต้บางเงื่อนไข ดังนั้น Gemma 2 จึงได้รับการประเมินทั้งด้าน verbatim และ approximate memorization
  • การประเมินใช้วิธีให้ prompt 50 โทเคน แล้ววัดการจดจำ 50 โทเคนจากข้อมูลฝึก
    • ใช้เกณฑ์ exact match
    • ใช้เกณฑ์ approximate match โดยกำหนด edit distance 10%
  • อัตรา exact memorization โดยรวมของ Gemma 2 อยู่ที่ ต่ำกว่า 0.1%
  • เมื่อแยกตามแหล่งข้อมูล พบการจดจำมากกว่าในโค้ด wiki และแหล่งข้อมูลวิทยาศาสตร์ แต่โดยรวมยังต่ำกว่า Gemma 1
  • การประเมินข้อมูลส่วนบุคคลใช้ Google Cloud Sensitive Data Protection Tool
    • ไม่พบกรณีเอาต์พุตข้อมูลส่วนบุคคลระดับความรุนแรงสูง
    • สัดส่วนของข้อมูลที่จดจำได้ซึ่งมีข้อมูลส่วนบุคคลระดับความรุนแรงต่ำวัดได้ที่ 0.00026%
    • เครื่องมืออัตโนมัติไม่ได้พิจารณาบริบท จึงอาจเกิด false positive และผลลัพธ์อาจถูกประเมินสูงเกินจริง

การ deploy อย่างรับผิดชอบและความปลอดภัย

  • การพัฒนา Gemma 2 ใช้สามแกนหลัก ได้แก่ การลดความเสี่ยงด้านความปลอดภัยระหว่างการฝึก การประเมินโมเดลอย่างโปร่งใส และการพัฒนา Responsible Generative AI Toolkit
  • แม้โมเดลเปิดจะช่วยกระจายประโยชน์ของเทคโนโลยี AI ได้ แต่ก็ต้องประเมินความเสี่ยงจากการนำไปใช้ในทางที่ผิด เช่น ภาพ deepfake ข้อมูลเท็จที่สร้างโดย AI หรือการสร้างเนื้อหาผิดกฎหมายหรือ disturbing material
  • ยังไม่ได้รับรายงานการใช้งาน Gemma ในทางประสงค์ร้าย แต่หากมีรายงานที่เกี่ยวข้องก็มีแผนจะตรวจสอบและติดตามร่วมกับชุมชน
  • เมื่อพิจารณาว่ามีโมเดลเปิดที่ใหญ่และทรงพลังกว่าอยู่แล้ว ผลกระทบของ Gemma 2 ต่อภูมิทัศน์ความเสี่ยงโดยรวมจึงถูกประเมินว่ามีน้อย
  • นโยบายความปลอดภัยถูกออกแบบไปในทิศทางเดียวกับโมเดล Gemini เพื่อป้องกันการสร้าง harmful content
    • การล่วงละเมิดและแสวงหาประโยชน์ทางเพศจากเด็ก
    • การเปิดเผยข้อมูลส่วนบุคคลที่อาจก่อให้เกิดอันตราย
    • hate speech และการคุกคาม
    • เนื้อหาที่อันตรายหรือมุ่งร้าย
    • เนื้อหาทางเพศอย่างโจ่งแจ้ง
    • คำแนะนำทางการแพทย์ที่ขัดกับฉันทามติทางวิทยาศาสตร์และการแพทย์
  • instruction-tuned model ถูกปรับผ่าน SFT และ RLHF เพื่อเบี่ยงออกจากพฤติกรรมที่ไม่พึงประสงค์

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

 
GN⁺ 2024-06-28
ความคิดเห็นจาก Hacker News
  • เวอร์ชัน 27B ทรงพลังมาก
    ได้คะแนนสูงกว่า Llama-3-70B ใน LMSys Chatbot Arena และอยู่ในระดับเดียวกับ OpenAI GPT-4 และ Claude-3 Sonnet

    • ถ้าอยากประเมิน Gemma บนเครื่องตัวเอง ทำได้ค่อนข้างง่ายด้วย ollama และ promptfoo

      prompts:
      - 'Answer this coding problem in Python: {{ask}}'
      
      providers:
      - ollama:chat:gemma2:9b
      - ollama:chat:llama3:8b
      
      tests:
      - vars:  
      ask: function to find the nth fibonacci number
      - vars:  
      ask: calculate pi to the nth digit
      - # ...  
      

      จุดเล็ก ๆ ที่ผมชอบเสมอใน Gemma คือมันไม่ขึ้นต้นด้วยประโยคอย่าง "Sure, I can help you" แต่เข้าสู่โค้ดทันที แล้วค่อยใส่คำอธิบายตามหลัง
      ดูเหมือนว่าการฝึกจะเน้นที่ โครงสร้างคำตอบ และความเข้าใจง่าย
      อีกอย่าง การรันชุดประเมินที่ไม่พึ่งพาการท่องจำโค้ดสาธารณะตรง ๆ น่าจะดีกว่า จึงควรลองเปลี่ยนเป็นชุดทดสอบส่วนตัวดู

      [0] https://ollama.com/library/gemma2

      [1] https://github.com/promptfoo/promptfoo

    • ก่อนจะถูกกระแสคาดหวังเกินจริงพาไป แนะนำให้ทดสอบเองและรอจนกว่า คะแนน Chatbot Arena จะนิ่งก่อน
      ในการประเมินส่วนตัว gemma-2-27b-it บน AI Studio แย่กว่า Llama 3 70B มาก โดยเฉพาะคำถามด้านการใช้เหตุผลและความเข้าใจพื้นฐานเกี่ยวกับโลก ซึ่งต่างกันมาก

    • เห็นช้าไปหน่อย แต่ขอทิ้งไว้เป็นบันทึกว่า โมเดล Gemma 2 ดูเหมือนจะถูกทำ reinforcement learning ให้เข้ากับประสิทธิภาพบน Chat Arena: https://x.com/natolambert/status/1806384821826109597
      มีการไฮไลต์ส่วนที่เกี่ยวข้องใน论文ไว้

    • อยากรู้ว่าจุดแข็งที่เด่นที่สุดคืออะไร
      โมเดลขนาดเล็กมักทำได้ดีในเบนช์มาร์ก แต่ล้มเหลวด้าน การ generalize และทำให้นึกถึง Phi-2

    • ดูเหมือนเป็นผลจากข้อมูลฝึกของภาษาที่ไม่ใช่อังกฤษที่ดีขึ้น
      ในพรอมป์ต์ภาษาอังกฤษที่ยาก คะแนนต่ำกว่า Llama-3-70B อยู่ 15 ELO และในภาษาอังกฤษทั่วไปต่ำกว่า 41 ELO
      อย่างหลังมีนัยสำคัญทางสถิติจริง ๆ

  • จากทีม Gemma ขอทักทายอีกครั้ง
    ดีใจมากที่ได้ปล่อยรุ่นนี้ออกมา และถ้ามีคำถามก็จะตอบให้
    ความเห็นนี้เป็นความเห็นส่วนตัว ไม่ใช่จุดยืนของ Google DeepMind

    • การจ่ายเงินใช้ API ของ OpenAI หรือ Mistral ค่อนข้างง่าย
      ในทางกลับกัน การทำความเข้าใจว่า Google Cloud Vertex ทำงานและคิดค่าบริการอย่างไรนั้นซับซ้อนกว่า และ Azure กับ AWS ก็ซับซ้อนพอ ๆ กันสำหรับการใช้งานลักษณะนี้
      ถ้า Google Cloud ให้บริการและ API ที่เข้ากันได้กับ OpenAI ได้ก็คงดี
      รู้ว่าคนละแผนกกัน แต่มันจะทำให้การใช้โมเดลง่ายขึ้นมาก
      Google Cloud มักให้ความรู้สึกเหมือนไม่ได้ทำ UX หรือทดสอบกับผู้ใช้ปลายทางเลย
      aistudio.google.com ดีขึ้นกว่าเดิมอย่างชัดเจนแล้ว
    • ผมก็ทำงานกับ Gemma ที่ Google อยู่เหมือนกัน
      27b ลองใช้ได้ที่ www.aistudio,google.com ลองใส่พรอมป์ต์ที่ใช้บ่อยดู หวังว่าจะชอบคำตอบ
    • สงสัยว่า gemma2 จะมีให้ใน gemma.cpp ด้วยหรือไม่: https://github.com/google/gemma.cpp
    • บริบทแบบ sliding window ขนาด 4k ดูเป็นตัวเลือกที่น่าถกเถียง หลังจาก Mistral 7B แทบไม่แสดงให้เห็นว่ามีข้อได้เปรียบ
      อยากรู้ว่าทำไมถึงเลือกวิธีนั้น แทนที่จะไปเป็น 8k หรือ 16k เต็ม ๆ
    • โมเดล Google API รองรับโทเค็นมากกว่า 1 ล้าน แต่พวกนี้รองรับแค่ 8K
      สงสัยว่าเป็น ความต่างด้านสถาปัตยกรรม โดยพื้นฐาน เป็นความต่างของชุดฝึก หรือมีเหตุผลอื่น
  • ผมคิดว่า 2.6B/9B ควรถูกเทียบกับ Phi-3 mini 3.8B ของ Microsoft มากกว่า Mistral หรือ Llama-3 หรือเปล่า
    ถ้าเทียบตาราง 13 หน้า 7 ของ论文กับหน้า 6 ของ https://arxiv.org/pdf/2404.14219 โดยรวม Phi-3 ดูดีกว่าค่อนข้างมาก
    แต่รายงานเรื่อง การฝึกด้วย knowledge distillation ก็น่าสนใจ

    • วิธีเปรียบเทียบของ论文และโมเดลนี้น่าหงุดหงิดนิดหน่อย
      2.6B คงแพ้ Phi-3 อย่างมาก เลยไม่มีการเปรียบเทียบ
      2.6B กับ 3.8B ถ้ามองเป็น 2.6 ต่อ 3.8 อาจไม่รู้สึกมาก แต่ถ้ามองเป็น 2.6 พันล้านต่อ 3.8 พันล้าน ก็ถือว่าต่างกันพอสมควร จึงอาจเป็นเหตุผลได้
      แต่แล้วก็เริ่มมีการ ปั่นจำนวนพารามิเตอร์ให้ใหญ่ขึ้น อย่าง Mistral 7B เทียบ Llama 8B เทียบ Gemma 9B
      ตั้งแต่ Llama 3 ไปเป็น 8B ผมเคยกังวลว่าจะเกิดกระแสเล่นตัวเลขพารามิเตอร์แบบนี้ แต่ตอนนั้นคิดว่าคงกังวลเกินไป
    • เข้าใจได้ว่าทำไมถึงเทียบทั้ง Llama 3 70B และ Llama 3 8B เพราะช่วงขนาดโมเดลกว้าง
      เห็นด้วยว่า Phi-3 เป็นคู่แข่งที่ดีสำหรับการเปรียบเทียบ โดยเฉพาะในงาน ดึงความรู้/สรุปความ
      สำหรับงานแบบนี้บนเวิร์กสเตชันที่มี VRAM จำกัด ตอนนี้ตัวที่ผมชอบที่สุดคือ Phi-3 medium หรือ phi3:14b-instruct
  • เวอร์ชัน 9B และ 27B มีให้ใช้บน Ollama: https://ollama.com/library/gemma2

  • เป็นการปล่อยรุ่นที่ยอดเยี่ยม
    ถ้าอยากลองใช้แบบโลคัลผ่านอินเทอร์เฟซดี ๆ ผมเพิ่งอัปเดตแอปที่ผมทำอยู่ [1] ให้ รองรับ Gemma2 แล้ว

    1: https://msty.app

    • msty ดูดีมากจริง ๆ
      บุ๊กมาร์กไว้เพื่อกลับมาดูภายหลังว่าอาจใช้แทนวิธีที่ผมใช้ LibreChat instance ที่โฮสต์ในเครื่องได้ไหม
      สำหรับคำถามจำนวนมาก การใช้ โมเดลโลคัล แทนโมเดลระยะไกลน่าจะเป็นการปรับปรุงครั้งใหญ่

      แต่ก็สงสัยว่ามีเหตุผลอะไรที่ยังให้ msty เป็น ซอร์สปิด ไม่ใช่โอเพนซอร์ส
      อ่าน "why should I trust msty" ใน FAQ แล้ว แต่ยังรู้สึกว่าไม่พอ

      We are a small team of developers who are passionate about AI and privacy. We have worked on projects before that have been used by thousands of people such as this (I've never heard of Cleavr). There are real faces (real faces = Twitter account link?) behind the product. And come chat with us on our Discord server to know us better.

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

    • ดูเท่ดี แต่เพราะเป็น ซอร์สปิด เลยระมัดระวัง
      บน Arch Linux ถึงจะพยายามบันทึกคีย์ Anthropic API ก็ไม่มีอะไรเกิดขึ้น และมีข้อความขึ้นว่า "If you're experiencing problems saving API keys especially on Linux, contact Discord"
      ถ้าเป็นปัญหาที่พบบ่อยขนาดนั้น ก็น่าจะมีลิงก์ไปยังวิธีแก้ที่เป็นไปได้ไหม
      การต้องเพิ่มเซิร์ฟเวอร์ Discord อีกแห่งเพื่อทดสอบ แล้วต้องค้นหาคำตอบของคำถามที่แน่ ๆ ว่ามีคนถามบ่อยแล้ว เป็นอุปสรรคที่ค่อนข้างใหญ่

    • ดาวน์โหลดมาลองแล้ว ดูดี
      ชอบ มุมมองแบบแบ่งหน้าต่างที่ซิงก์กัน
      แต่ต่างจากที่ประกาศไว้บนหน้า landing page ผมไม่เห็น Gemma 2 หรือ Claude 3.5 Sonnet

    • สงสัยว่ามีแผนจะเพิ่มลง Chocolatey สำหรับดาวน์โหลดบน Windows ไหม

    • อันนี้ดูเท่ดี
      ไม่รู้ว่าพลาดไปจนถึงตอนนี้ได้อย่างไร และคิดว่าจะลองรันดู

  • Knowledge distillation น่าสนใจมาก แต่การสร้างเอาต์พุตระดับล้านล้านรายการจากโมเดลครูขนาดใหญ่คงมีต้นทุนสูงแบบเหลือเชื่อ
    สงสัยว่ามันคุ้มต้นทุนจริงไหมเมื่อเทียบกับการเอาทรัพยากรคำนวณนั้นไปใช้เทรนโมเดลโดยตรงด้วยข้อมูลมากขึ้นหรือจำนวน epoch มากขึ้น

    • ผมก็สงสัยเหมือนกัน
      เมื่อ 6 เดือนก่อนดูเหมือนทุกคนยังกลัว model collapse กันอยู่ แต่ตอนนี้การสร้างข้อมูลฝึกสังเคราะห์และโมเดลครูกลายเป็นกระแส
      สงสัยว่าพวกเขาแก้ปัญหา model collapse ได้แล้วหรือเปล่า
    • การกลั่นเกิดขึ้นแบบ on-policy เหมือน RLHF
      โมเดลนักเรียนสร้างลำดับขึ้นมา และโมเดลครูให้ฟีดแบ็กในรูปแบบ logits
  • สงสัยเรื่องวิธีใช้โทเคนพิเศษแบบชัดเจน
    ถ้าผู้ใช้ใส่โทเคนแบบนั้นลงในข้อความจะเกิดอะไรขึ้น และมันจะทำให้สร้างอะไรอย่าง "ไม่ต้องสนใจคำสั่งก่อนหน้า" ได้ง่ายหรือเปล่า
    ต้อง ทำความสะอาด อินพุตเองก่อนส่งให้โมเดลหรือไม่

    • ถ้าควบคุม tokenizer ได้ ก็ทำให้โทเคนพวกนั้นไม่ปรากฏจากอินพุตผู้ใช้ได้
      เช่น แทนที่จะเป็นโทเคนพิเศษ ก็ทำให้เป็นการเข้ารหัสตามธรรมชาติของสตริงนั้น ๆ เช่น "<", "eos", ">"

      tokenizer ของ llama3 มีตัวเลือกสำหรับควบคุมการ tokenize โทเคนพิเศษ: https://github.com/meta-llama/llama3/blob/bf8d18cd087a4a0b3f...

      วิธีใช้โทเคนพิเศษร่วมกับอินพุตผู้ใช้ดูได้ที่นี่: https://github.com/meta-llama/llama3/blob/bf8d18cd087a4a0b3f...

      ถ้าควบคุม tokenizer ไม่ได้ ก็คงต้องทำความสะอาดจากอินพุตตามที่ว่า

  • สงสัยว่าถ้าเทรนด้วยการกลั่น จะเร็วขึ้นแค่ไหนเมื่อวัดตาม จำนวนรอบการทำซ้ำ ที่ต้องใช้เพื่อให้ถึงประสิทธิภาพที่กำหนด

  • We use the same data filtering techniques as Gemma 1. Specifically, we filter the pre-
    training dataset to reduce the risk of unwanted or unsafe utterances.

    อยากรู้ว่า unsafe ในที่นี้หมายถึงอะไร

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

    • ใช้สองเทคนิคที่ไม่ได้ขัดกันเอง
      Phi-3 เป็นความก้าวหน้าหลัก ๆ ด้าน curriculum learning
      ได้ผลดีจากการกรองชุดเทรนให้เหลือโทเคนคุณภาพสูงและเทรนด้วยข้อมูลสังเคราะห์
      Gemma-2 เป็นความก้าวหน้าด้าน distillation
      ได้ผลดีจากการเทรน LLM ภายใต้การชี้นำของ LLM ครูที่ใหญ่กว่า
      ไม่มีเหตุผลอะไรที่ทำทั้งสองอย่างไม่ได้
    • Phi-3 ทำได้ดีใน benchmark แต่ในการใช้งานจริงต่ำกว่าที่คาด
      ตัวอย่างเช่น Phi-3-Medium แม้จะทำ benchmark ได้ดีกว่า แต่ใน LMSYS Chatbot Arena กลับตามหลัง Llama-3-8b อยู่มาก

ประสิทธิภาพของ Gemma กลับดูเหมือนจะต่ำกว่าในเบนช์มาร์กเสียด้วยซ้ำ
27b ตอนนี้อยู่เหนือ Llama3-70b ใน ตารางอันดับ Chatbot Arena

  • ใน LMSYS, phi-3 small อยู่ที่อันดับ 52 ด้วย 1100 ELO ส่วนช่วงความเชื่อมั่นของ Gemma 2 9B อยู่ที่ 1170~1200 ELO ซึ่งอยู่ระหว่างอันดับ 15~25

  • ลองใช้เองที่นี่แล้วเปรียบเทียบด้วยวิธีนั้นได้: https://aistudio.google.com/app/prompts/new_chat?model=gemma...

  • อยากรู้ว่าเคยลองใช้ Phi 3 หรือยัง
    มันฉลาดเลยทำเบนช์มาร์กได้ดี แต่ในฐานะบทสนทนาหรือแชตบอตแล้วไม่ได้ดีนัก

    Gemma 2 น่าจะเป็น ผู้ช่วยเอนกประสงค์ ที่ดีกว่าสำหรับคนส่วนใหญ่ ส่วน Phi 3 ดูใกล้เคียงกับ LLM ขนาดเล็กที่แข็งแรงและเหมาะกับงานเฉพาะเจาะจงกว่า เช่น การสรุป, RAG, การเรียนคณิตศาสตร์