Exploring Hermes MoA: Is the Agg Or Ref Model More Important?
สรุปย่อ
ประเด็นสำคัญจากวิดีโอ
- **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~14 นาที · **ลิงก์:** https://www.youtube.com/watch?v=xYAOR5bew8g
# สรุป: Exploring Hermes MoA: Is the Agg Or Ref Model More Important? - **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~14 นาที · **ลิงก์:** https://www.youtube.com/watch?v=xYAOR5bew8g ## ประเด็นหลัก - วิดีโอนี้ทดลองเปรียบเทียบ Mixture of Agents (การรวมหลายโมเดลเข้าด้วยกัน) ใน Hermes Agent โดยใช้ชุดประเมิน (benchmark suite) ที่สร้างขึ้นเอง ประเมิน 5 แกน: ความเร็ว, tool calls, reasoning, instruction following และการสร้าง landing page - การให้คะแนนเป็นแบบ deterministic Python (ไม่มี LM judge ตรวจการบ้านตัวเอง) เทียบเท่ากันทุกโปรไฟล์ ใช้ benchmark สำคัญเช่น BFCL (Berkeley Function Calling) และ IFEval - การทดลองหลัก: ใช้ Mixtral 8x7B Pro เป็น aggregator กับ DeepSeek V4 Flash เป็น reference (AggRef-Mixtral) แล้วสลับเป็น DeepSeek เป็น aggregator กับ Mixtral เป็น reference (AggRef-DeepSeek) - ผลการทดลอง AggRef-Mixtral ได้คะแนนรวม 92% ส่วน AggRef-DeepSeek ต่ำกว่าเล็กน้อย แม้จะเร็วกว่าอย่างมากและทำ landing page ได้สไตล์ดีกว่า - การรันโมเดลเดี่ยวเปรียบเทียบกับ MoA: Mixtral เดี่ยวได้ 92%, DeepSeek เดี่ยวได้ 76% แต่เมื่อใช้ Mixtral เป็น reference กับ DeepSeek aggregator ดึงคะแนนขึ้นเป็น 84% - สรุปสำคัญ: aggregator สำคัญกว่า reference — ถ้าให้เลือก ควรใส่โมเดลที่ก้าวหน้ากว่าเป็น aggregator เพื่อผลลัพธ์ที่ดีกว่า ส่วน reference ช่วยเสริมขีดความสามารถ - MoA มีประสิทธิภาพจริงในการดึงโมเดลที่อ่อนกว่าให้ทำได้ดีขึ้น โดยเฉพาะเมื่อได้รับคำแนะนำจากโมเดลที่แข็งแกร่งกว่า - เอเจนต์ reference ทำหน้าที่เหมือน "โค้ช" คอยจับบั๊ก/ความเสี่ยง และ aggregator ก็ให้เครดิต reference ที่จับปัญหาได้ - สไตล์การสร้าง landing page แตกต่างกันตามโมเดลที่เป็นหลัก: DeepSeek ใช้สีเข้มและหัวเรื่องคล้ายกัน ส่วน Mixtral ใช้คำที่ต่างออกไป - คำถามติดตามที่จะทำวิดีโอถัดไป: จำนวน reference models ที่เหมาะสมคือเท่าไหร่? และกลุ่มโมเดลฟรีสู้โมเดลเสียเงินตัวเดียวได้หรือไม่? - เอเจนต์สามารถเห็น "ความคิด" ของ reference model ได้แบบเรียลไทม์ ซึ่งเป็นฟีเจอร์ใหม่ที่ผู้จัดไม่เห็นในการรันก่อนหน้า ## ความเห็นสรุป วิดีโอนี้ให้ข้อสรุปที่ชัดเจนว่าใน Mixture of Agents บทบาท aggregator สำคัญกว่า reference — ควรใส่โมเดลที่ดีกว่าเป็น aggregator เพื่อผลลัพธ์ที่ดีที่สุด แม้จะเสียเวลามากกว่า ในขณะที่ reference model ช่วยยกระดับโมเดลที่อ่อนกว่าได้อย่างมีประสิทธิภาพ ผลการทดลองแสดงให้เห็นว่า MoA ไม่ใช่แค่ทฤษฎี แต่ใช้งานได้จริงในการสร้างโมเดลที่ทรงพลังกว่าโมเดลเดี่ยว
คำแปลเต็ม
แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ
ผมได้ลองเล่นกับ MoA (Mixture of Agents — การรวมหลายโมเดลเข้าด้วยกัน) ใน Hermes Agent มาบ้าง ถ้าใครดูวิดีโอแรกของผมเรื่องนี้ ก็จะรู้จักมันแล้วนะครับ MoA คือวิธีใช้โมเดลหลายตัวทำงานเป็นโมเดลขับเคลื่อนหลักให้ Hermes Agent หลักการง่ายๆ คือ จะมีตัว Aggregator ซึ่งเป็นเอเจนต์หลักที่ทำการเรียกใช้ tool และตอบสนองจริง ส่วน Reference models จะรับ prompt แล้วทำการวิเคราะห์ ก่อนให้คำแนะนำแก่โมเดล Aggregator นี่คือแนวคิดพื้นฐานครับ ทฤษฎีคือเราอาจใช้วิธีนี้สร้างโมเดลที่ทรงพลังกว่าปกติ หรือกว่าที่เราเข้าถึงได้ ผมว่าเป็นไอเดียที่ค่อนข้างเจ๋ง และผมก็ลองเล่นมันมาสักพักแล้ว ในวิดีโอวันนี้ ผมอยากลองใช้ชุดประเมิน (evaluation suite) และ benchmark เพื่อทดสอบการตั้งค่า MoA แบบต่างๆ ตามที่ผมอยากรู้
ถ้าใครรันเอเจนต์เองและอยากเข้าถึง LM wikis ที่ผมใช้ทำวิดีโอเหล่านี้ ลองแวะดูโปรเจกต์ของผมที่ agentwikis.com นะครับ ผมแชร์ wiki ทั้งหมดฟรีในหลายหัวข้อ และก็มีบัญชี Pro ในราคา 9.99 ดอลลาร์ต่อเดือน จะได้เข้าถึง wiki ขนาดใหญ่พิเศษ ที่มีหน้าและรายละเอียดมากขึ้นในแต่ละหัวข้อ
กลับเข้าเรื่องวิดีโอ สิ่งแรกที่ทำคือสร้างตัวประเมินเอง และเอเจนต์จะเป็นคนรัน ไม่ต้องมีการเสิร์ฟโมเดล ไม่ต้องโหลดอะไร และใช้ fixtures ชุดเดียวกันทุกโปรไฟล์ ส่วนการให้คะแนนใช้ Python แบบ deterministic ก็คือไม่มี LM judge ตรวจการบ้านตัวเอง ซึ่งเป็นสิ่งที่ผมกังวลอยู่ ผมสร้างชุดนี้ขึ้นมาเองนะครับ
โดยจะประเมินในแกนห้าด้าน ด้านแรกคือความเร็ว คือ wall-clock latency ตั้งแต่เริ่มจนทำภารกิจหรือ eval เสร็จ เห็นได้ชัดว่า MoA มักจะช้ากว่าในกรณีส่วนใหญ่ จริงอยู่ที่ในวิดีโอก่อนมีกรณีที่มันเร็วกว่า แต่โดยรวมน่าจะช้ากว่าการใช้โมเดลเดี่ยว แต่เราไปดูกัน
ด้านที่สองคือ tool calls สำคัญมากสำหรับเอเจนต์ เราจะใช้ BFCL (Berkeley Function Calling) เป็น benchmark สำหรับส่วนนี้ นี่คือเป้าหมายการใช้ tool ที่ตอบไม่ได้ถ้าไม่ใช้ tool เหล่านี้
ด้านที่สามคือ reasoning ใช้โจทย์คณิตศาสตร์ระดับประถมและตรรกะ
ด้านที่สี่คือ instruction following สำคัญมาก ใช้ benchmark ที่ชื่อ IFEval
และด้านสุดท้ายเป็น eval กำหนดเอง โดยให้สร้าง landing page โดยมีคำสั่งพื้นฐานนิดหน่อยแล้วดูว่าพวกมันจะทำอะไรออกมา ส่วนนี้จะเห็นเป็นภาพได้ชัด และก็ประเมินรสนิยมหรือทางเลือกด้านการออกแบบของแต่ละโมเดล ผมว่าน่าสนใจดีนะครับ
ทั้งหมดนี้กระชับมากเพราะเราจะรันซ้ำหลายรอบ และจะมีการให้คะแนนแบบ deterministic ในหลาย benchmark ที่โชว์ให้ดู จึงเทียบกันได้แบบเที่ยงตรง ส่วนการประเมินด้วยสายตาจะใช้ที่ landing page เป็นหลัก เพื่อดูว่าแบบไหนดูดีกว่าหรือมีรสนิยมด้านดีไซน์มากกว่า
ทีนี้มาดูการทดลองหนึ่ง: เปรียบเทียบ reference กับ aggregator เราจะตั้งค่านี้ในเว็บแดชบอร์ด ถ้าพิมพ์ `hermes dashboard` ใน CLI ก็จะเข้ามาหน้านี้ เลื่อนไปที่ models และนี่คือโมเดล Mixture of Agents สามารถตั้งค่าได้ตามนี้ จะเห็นว่าเพิ่ม reference models ได้ แล้วก็มี aggregator ซึ่งเป็นตัวขับเคลื่อน tool หลัก คำถามของผมคือ การมีโมเดลหนึ่งเป็น aggregator และอีกตัวเป็น reference สร้างความแตกต่างอย่างไร แล้วก็สลับกันดู
ในการทดสอบนี้ ผมจะลองให้ Mixtral 8x7B Pro เป็น aggregator และ DeepSeek V4 Flash เป็น reference โมเดลสองตัวนี้ราคาถูกกว่าและจะรันผ่าน Nous Portal น่าจะได้ผลดี เพราะทั้งคู่เป็นโมเดลที่เก่งมาก เมื่อทดสอบแบบนี้แล้ว เราจะสลับกัน ให้ DeepSeek V4 เป็น aggregator และ Mixtral เป็น reference เพื่อดูว่าต่างกันอย่างไร
นี่คือ prompt ที่จะให้ทุกโมเดล เขียนไว้แล้วเพื่อให้ทุกการรันเทียบกันได้ โดยพื้นฐานคือสั่งเอเจนต์ให้รัน Hermes eval benchmark ทำงานจาก directory เดียว โดยมีไฟล์ task หลักคือ `task-hard.md` แล้วโมเดลจะเขียนคำตอบ จากนั้นจะมี script Python ที่เป็นตัวให้คะแนนแบบ deterministic โมเดลจะไม่ได้ตรวจให้คะแนนตัวเอง มันจะรัน script นี้ซึ่งให้คะแนนที่ถูกต้อง
โอเค เริ่มรันแล้ว จะเห็นว่าตัวนี้ชื่อ AggRef-Mixtral ผม initialize แล้วใส่ prompt ไป และจะเห็นว่า reference model กำลัง "คิด" จริงๆ นี่คือ DeepSeek V4 และจะเห็นสิ่งที่มันกำลังคิดอยู่: "Sequentially execute the Hermes eval benchmark for the profile" แล้วมันก็ให้คำแนะนำ น่าสนใจดี เพราะตอนทำวิดีโอสัปดาห์ก่อน ยังไม่เห็นส่วนนี้ ผมไม่แน่ใจว่าเป็นการอัปเกรดใหม่หรือการตั้งค่าของผมเปลี่ยน แต่ตอนนี้เราเห็นสิ่งที่ reference model กำลังคิดได้ ซึ่งค่อนข้างเจ๋ง
มันกำลังรันทุกอย่าง และจะเห็น "aggregating" ด้านล่าง หลังจากได้คำแนะนำแล้ว โมเดล Mixtral ก็เรียกใช้ tool หรือทำสิ่งที่จำเป็นเพื่อรัน benchmark ผมปล่อยให้มันรันต่อแล้วเราจะมาดูผล
มันตลกดีที่ได้ดูความคิดของ reference model เหมือนโค้ชเลย "the acting agent told me it's made excellent progress" "Timer start" ที่เป็นสีแดงทั้งหมดนั้น "Risks and mistakes spotted" แล้วมันก็ระบุความเสี่ยงเพิ่มเข้ามา นี่คือคำแนะนำส่วนตัวที่มันให้ แต่น่าขบถนิดหน่อยที่วิธีมันพูดเหมือนโค้ชที่ยืนอยู่มุมห้องเลย
โอเค รันเสร็จแล้ว เรามาดูผลตรงนี้ คะแนนค่อนข้างดี ซึ่งก็เป็นไปตามที่คาด เพราะทั้งสองเป็นโมเดลที่เก่งมาก reasoning ได้คะแนนเต็ม ส่วน coding และ instruction ตอบถูก 13 จาก 15 ส่วน optimize ซึ่งเป็นเหมือนโบนัสว่าสามารถ optimize องค์ประกอบต่างๆ เช่น speedup และ compression ratio ได้หรือไม่ จะเห็นว่าทำได้ดีมาก แต่ก็ใช้เวลานานพอสมควร ต้องพิจารณาเรื่องนี้ด้วย ใช้เวลาจริงประมาณ 19 นาที มาดู landing page ที่มันสร้าง นี่คือ landing page ที่สร้าง ไม่มีอะไรโดดเด่น สีม่วงกับดำ มันสร้าง landing page สำหรับ Hermes ก็เหมือนกัน แต่แต่งรายละเอียดขึ้นมาเอง ไม่มีแผน Pro หรือ Team แล้วก็ landing page ง่ายๆ แต่ก็ทำได้สำเร็จ หวังว่าเราจะอัปเกรดจากตรงนี้ได้นะ ถ้าไดนามิกกว่านี้ก็ดี นี่เป็น baseline ของเรา และเราจะมีการเปรียบเทียบ MoA showdown ทั้งหมดที่นี่ นี่เป็นอันแรก ชื่อผิดนะ ไม่ใช่ GPT แต่จะเป็น Mixtral เป็น aggregator และ DeepSeek เป็น reference
ตอนนี้เราจะสลับกัน กลับไปที่แดชบอร์ด ไปที่ Nous Portal แล้วผมจะตั้ง Mixtral เป็น reference และ DeepSeek เป็น aggregator โอเค นี่จะเป็น preset ใหม่ ชื่อ AggRef-DeepSeek บันทึก ตอนนี้เราจะรัน eval เดียวกันกับตัวนี้แล้วดูความแตกต่าง
โอเค สลับไปยังโมเดล MoA แบบ AggRef-DeepSeek แล้ว ตอนนี้ reference คือ Mixtral ให้ prompt เดียวกันทุกประการแล้วมาดูผล ว่าจะมีความแตกต่างอะไรบ้าง การดูมันทำงานน่าสนใจมาก เพราะจะเห็น reference model ตั้งข้อสังเกตปัญหา จะเห็น aggregator model ให้เครดิต reference model ที่จับบั๊กบางอย่างได้ ด้านล่างก็เหมือนกัน "good catches from the reference" น่าสนใจดีที่มีเอเจนต์สำรองคอยจับปัญหาที่เอเจนต์หลักไม่เจอในการรันครั้งแรก
เสร็จแล้ว เราได้ผลรวมตรงนี้ ภาพรวมน่าจะต่ำกว่าอันก่อนนิดหน่อยใช่ไหมครับ มาดู landing page กัน นี่คือเปรียบเทียบแบบกระดาน นี่คืออันแรกที่ Mixtral เป็น aggregator และ DeepSeek เป็น reference ได้คะแนนรวม 92% ส่วน DeepSeek เป็น aggregator และ Mixtral เป็น reference ต่ำกว่านิดหน่อย คะแนน BFCL (สำหรับ tool calling) เท่าเดิม แต่ข้ออื่นต่ำกว่าทั้งหมด อย่างไรก็ตาม อันนี้เร็วกว่าอย่างมาก ต้องคำนึงถึงเรื่องนี้ด้วย และทำได้ดีกว่าในหนึ่งในตัว optimize และนี่คือ landing page ของเรา สไตล์คล้ายกันใช่ไหมครับ ตรงส่วนบนเลือกสไตล์คล้ายกัน ผมว่าจริงๆ แล้วมันดีกว่าด้วยซ้ำ ซึ่งน่าสนใจ บางที DeepSeek อาจมีสไตล์ที่ดีกว่านิดหน่อย หรืออย่างน้อยก็รู้ว่าควรใช้พื้นหลังสีเข้ม
ผมยังได้รัน eval กับโมเดลแต่ละตัวเพียงลำพัง เพื่อดูความแตกต่าง นี่คือของ DeepSeek แต่ก็รันของ Mixtral ด้วย และผลน่าสนใจทีเดียว มาดูกระดานเปรียบเทียบตอนนี้กัน ผลโดยรวมค่อนข้างน่าสนใจ นี่คือสรุปคะแนนสุดท้าย ผมรัน Mixtral เดี่ยวๆ ไม่ใช่ MoA และก็รัน DeepSeek เดี่ยวๆ เช่นกัน จะเห็นว่ามีความแตกต่างชัดเจน และ aggregator สำคัญมากจริงๆ เพราะ Mixtral เดี่ยวๆ ได้ 92% โดยรวม และ MoA ที่มี Mixtral เป็น aggregator ก็ได้ 92% เช่นกัน ส่วน DeepSeek เดี่ยวๆ ได้ 76% แต่เมื่อเป็น MoA ที่มี Mixtral เป็น reference ก็ดึงขึ้นมาเป็น 84% แสดงว่า MoA นี้มีประสิทธิภาพจริงๆ โมเดล DeepSeek ที่ได้รับคำแนะนำจาก Mixtral ทำได้ดีขึ้น
การดู landing pages ก็น่าสนใจเช่นกัน สองแบบที่ใช้ DeepSeek ไม่ว่าจะเป็นโมเดลเดี่ยวหรือ aggregator ใช้สไตล์คล้ายกันมาก หัวเรื่องเหมือนกันแทบจะเป๊ะ เช่น "Run AI agents on your machine" กับ "Run AI agents wherever you are" ส่วนสองแบบที่ใช้ Mixtral เป็นหลัก ใช้คำที่ต่างกันออกไป เช่น "Your AI agent running locally" กับ "The AI agent runtime that runs locally" น่าสนใจดีที่เห็นผลลัพธ์ที่ต่างกันเช่นนี้
แน่นอนว่าในกรณีนี้ Mixtral เป็นโมเดลที่ก้าวหน้ากว่า DeepSeek (อันนี้เป็น DeepSeek Flash นะ ไม่ใช่รุ่น Pro เพราะผมอยากให้มีตัวแบ่งความต่างระหว่างสองโมเดล) จะเห็นว่าถ้าให้เลือกระหว่าง aggregator และ reference ควรใส่โมเดลที่ดีกว่าเป็น aggregator จะได้ผลที่ดีกว่า ส่วน reference ก็ช่วยเสริมขีดความสามารถให้ เช่นในส่วน instruction following ก็ทำได้ดีขึ้น แม้คะแนนรวมจะเท่ากัน ผลจึงน่าสนใจอย่างน้อยสำหรับผมที่ทดลองเล่นกับ MoA และดูความสัมพันธ์ระหว่าง aggregator กับ reference
ฉะนั้นอย่าลืมเรื่องนี้เวลาสร้าง MoA นะครับ วิดีโอนี้ตอบคำถามนี้แล้ว แต่ผมยังมีคำถามอื่นเกี่ยวกับ MoAอีก จึงจะทำวิดีโอติดตามผลเพิ่มเติม วิดีโอนี้จะจบลงแค่นี้ แต่คำถามต่อไปของผมคือ "เท่าไหร่คือมากเกินไป?" เราสามารถเพิ่ม reference models ได้ไม่จำกัด การเพิ่มไปเรื่อยๆ จะช่วยเพิ่มผลลัพธ์หรือไม่ หรือถึงจุดหนึ่งมันจะเพิ่มแต่ latency โดยไม่มีการพัฒนาจริง?
และอีกคำถาม: "โมเดลฟรีสู้โมเดลเสียเงินได้ไหม?" กลุ่มของโมเดลฟรี ไม่จำเป็นต้องรันในเครื่องด้วยซ้ำ จะสามารถเอาชนะการเรียก API แบบเสียเงินตัวเดียวได้หรือไม่ ผมจะไปลองดูในวิดีโอติดตามผลนะครับ แต่วิดีโอนี้จบลงแค่นี้กับการทดลองใช้ Mixture of Agents ใน Hermes Agent
ฝากคอมเมนต์ด้วยนะครับ บอกผมมาเลยว่าคุณคิดอย่างไร คุณได้ทดลอง MoA อย่างไรบ้าง และค้นพบอะไร ฝากกดไลค์ กด subscribe ด้วยนะครับ แล้วเจอกันใหม่วิดีโอหน้า ขอบคุณที่รับชมครับ
หมายเหตุการแปล
ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ
- ## ข้อความที่ฟังไม่ชัด / ความหมายไม่แน่นอน
- ไม่มี segment ที่ต้องทำเครื่องหมาย `[ฟังไม่ชัด]` ในคำแปล — ทุกส่วนสามารถแปลได้จากบริบท
อภิธานศัพท์เทคนิค
คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ
| ศัพท์ | คำแปล / คำอธิบาย |
|---|---|
| Hermes Agent | แพลตฟอร์มเอเจนต์ AI ของ Nous Research (คงเดิมภาษาอังกฤษ ไม่แปล) |
| MoA | Mixture of Agents — การรวมหลายโมเดลเข้าด้วยกัน เพื่อสร้างโมเดลที่ทรงพลังกว่าโมเดลเดี่ยว |
| Mixture of Agents | การรวมหลายโมเดลเข้าด้วยกัน เป็นเทคนิคใช้โมเดลหลายตัวทำงานร่วมกัน |
| Aggregator | โมเดล/เอเจนต์หลักที่ทำการเรียกใช้ tool และตอบสนองจริงใน MoA |
| Reference model | โมเดลที่รับ prompt แล้ววิเคราะห์เพื่อให้คำแนะนำแก่ aggregator |
| Evaluation suite | ชุดประเมินผล — กลุ่มของการทดสอบมาตรฐาน |
| Benchmark | เกณฑ์มาตรฐานสำหรับวัดผลการทำงาน |
| BFCL | Berkeley Function Calling Leaderboard — benchmark สำหรับทดสอบการเรียกใช้ฟังก์ชัน/tool |
| IFEval | Instruction Following Evaluation — benchmark สำหรับทดสอบการทำตามคำสั่ง |
| Wall-clock latency | เวลาตั้งแต่เริ่มต้นจนจบการทำงาน (เวลาจริงตามนาฬิกา) |
| Deterministic | แบบกำหนดค่าตายตัว — ให้ผลเดียวกันทุกครั้งที่รัน |
| Fixtures | ข้อมูลตั้งต้นชุดเดียวกันที่ใช้ทดสอบทุกครั้ง |
| Landing page | หน้าเว็บหน้าแรก/หน้าโปรโมท ใช้ทดสอบรสนิยมด้านดีไซน์ของโมเดล |
| LM judge | โมเดลภาษาที่ทำหน้าที่ตัดสินให้คะแนน (ในวิดีโอนี้เลี่ยงการใช้เพื่อความเที่ยงตรง) |
| Reasoning | การให้เหตุผล — ทดสอบด้วยโจทย์คณิตศาสตร์และตรรกะ |
| Instruction following | การทำตามคำสั่ง — ทักษะสำคัญสำหรับเอเจนต์ |
| Tool calls | การเรียกใช้ tool — ความสามารถในการเรียกใช้ฟังก์ชันภายนอก |
| Tool use | การใช้ tool ในการทำงานของเอเจนต์ |
| Optimizer | ส่วนประเมินเพิ่มเติม (โบนัส) เช่น speedup และ compression ratio |
| Mixtral 8x7B Pro | โมเดลภาษา (คงเดิม ไม่แปล) |
| DeepSeek V4 Flash | โมเดลภาษารุ่นประหยัด (คงเดิม ไม่แปล) |
| Nous Portal | พอร์ทัลสำหรับจัดการโมเดล/บัญชีในระบบของ Nous Research |
| Preset | ชุดตั้งค่าสำเร็จรูปสำหรับโมเดล MoA |
| agentwikis.com | โปรเจกต์ wiki ฟรีของผู้จัด ให้ข้อมูลวิจัยด้านเอเจนต์ AI |
| LM wikis | สารานุกรม wiki ด้านโมเดลภาษา |
ซับไตเติ้ลภาษาไทย
ดาวน์โหลดหรือดูซับทั้งหมด
1 00:00:00,000 --> 00:00:06,597 ผมได้ลองเล่นกับ MoA (Mixture of Agents — การรวมหลายโมเดลเข้าด้วยกัน) 2 00:00:06,597 --> 00:00:11,836 ใน Hermes Agent มาบ้าง ถ้าใครดูวิดีโอแรกของผมเรื่องนี้ 3 00:00:11,836 --> 00:00:19,694 ก็จะรู้จักมันแล้วนะครับ MoA คือวิธีใช้โมเดลหลายตัวทำงานเป็นโมเดลขับเคลื่อนหลักให้ 4 00:00:19,694 --> 00:00:24,351 Hermes Agent หลักการง่ายๆ คือ จะมีตัว Aggregator
เปิดดูซับไตเติ้ลทั้งหมด (149 segments)
1 00:00:00,000 --> 00:00:06,597 ผมได้ลองเล่นกับ MoA (Mixture of Agents — การรวมหลายโมเดลเข้าด้วยกัน) 2 00:00:06,597 --> 00:00:11,836 ใน Hermes Agent มาบ้าง ถ้าใครดูวิดีโอแรกของผมเรื่องนี้ 3 00:00:11,836 --> 00:00:19,694 ก็จะรู้จักมันแล้วนะครับ MoA คือวิธีใช้โมเดลหลายตัวทำงานเป็นโมเดลขับเคลื่อนหลักให้ 4 00:00:19,694 --> 00:00:24,351 Hermes Agent หลักการง่ายๆ คือ จะมีตัว Aggregator 5 00:00:24,351 --> 00:00:29,687 ซึ่งเป็นเอเจนต์หลักที่ทำการเรียกใช้ tool และตอบสนองจริง 6 00:00:29,687 --> 00:00:34,829 ส่วน Reference models จะรับ prompt แล้วทำการวิเคราะห์ 7 00:00:34,829 --> 00:00:40,358 ก่อนให้คำแนะนำแก่โมเดล Aggregator นี่คือแนวคิดพื้นฐานครับ 8 00:00:40,358 --> 00:00:45,403 ทฤษฎีคือเราอาจใช้วิธีนี้สร้างโมเดลที่ทรงพลังกว่าปกติ 9 00:00:45,403 --> 00:00:50,739 หรือกว่าที่เราเข้าถึงได้ ผมว่าเป็นไอเดียที่ค่อนข้างเจ๋ง 10 00:00:50,739 --> 00:00:57,239 และผมก็ลองเล่นมันมาสักพักแล้ว ในวิดีโอวันนี้ ผมอยากลองใช้ชุดประเมิน 11 00:00:57,239 --> 00:01:02,381 (evaluation suite) และ benchmark เพื่อทดสอบการตั้งค่า 12 00:01:02,381 --> 00:01:08,396 MoA แบบต่างๆ ตามที่ผมอยากรู้ ถ้าใครรันเอเจนต์เองและอยากเข้าถึง 13 00:01:08,396 --> 00:01:14,023 LM wikis ที่ผมใช้ทำวิดีโอเหล่านี้ ลองแวะดูโปรเจกต์ของผมที่ 14 00:01:14,023 --> 00:01:19,456 agentwikis.com นะครับ ผมแชร์ wiki ทั้งหมดฟรีในหลายหัวข้อ 15 00:01:19,456 --> 00:01:24,985 และก็มีบัญชี Pro ในราคา 9.99 ดอลลาร์ต่อเดือน จะได้เข้าถึง 16 00:01:24,985 --> 00:01:30,903 wiki ขนาดใหญ่พิเศษ ที่มีหน้าและรายละเอียดมากขึ้นในแต่ละหัวข้อ 17 00:01:30,903 --> 00:01:36,142 กลับเข้าเรื่องวิดีโอ สิ่งแรกที่ทำคือสร้างตัวประเมินเอง 18 00:01:36,142 --> 00:01:42,060 และเอเจนต์จะเป็นคนรัน ไม่ต้องมีการเสิร์ฟโมเดล ไม่ต้องโหลดอะไร 19 00:01:42,060 --> 00:01:47,493 และใช้ fixtures ชุดเดียวกันทุกโปรไฟล์ ส่วนการให้คะแนนใช้ 20 00:01:47,493 --> 00:01:53,508 Python แบบ deterministic ก็คือไม่มี LM judge ตรวจการบ้านตัวเอง 21 00:01:53,508 --> 00:01:58,844 ซึ่งเป็นสิ่งที่ผมกังวลอยู่ ผมสร้างชุดนี้ขึ้นมาเองนะครับ 22 00:01:58,844 --> 00:02:03,404 โดยจะประเมินในแกนห้าด้าน ด้านแรกคือความเร็ว คือ 23 00:02:03,404 --> 00:02:08,254 wall-clock latency ตั้งแต่เริ่มจนทำภารกิจหรือ eval 24 00:02:08,254 --> 00:02:13,105 เสร็จ เห็นได้ชัดว่า MoA มักจะช้ากว่าในกรณีส่วนใหญ่ 25 00:02:13,105 --> 00:02:21,060 จริงอยู่ที่ในวิดีโอก่อนมีกรณีที่มันเร็วกว่า แต่โดยรวมน่าจะช้ากว่าการใช้โมเดลเดี่ยว 26 00:02:21,060 --> 00:02:26,881 แต่เราไปดูกัน ด้านที่สองคือ tool calls สำคัญมากสำหรับเอเจนต์ 27 00:02:26,881 --> 00:02:32,314 เราจะใช้ BFCL (Berkeley Function Calling) เป็น benchmark 28 00:02:32,314 --> 00:02:38,232 สำหรับส่วนนี้ นี่คือเป้าหมายการใช้ tool ที่ตอบไม่ได้ถ้าไม่ใช้ 29 00:02:38,232 --> 00:02:45,411 tool เหล่านี้ ด้านที่สามคือ reasoning ใช้โจทย์คณิตศาสตร์ระดับประถมและตรรกะ 30 00:02:45,411 --> 00:02:50,068 ด้านที่สี่คือ instruction following สำคัญมาก ใช้ 31 00:02:50,068 --> 00:02:54,725 benchmark ที่ชื่อ IFEval และด้านสุดท้ายเป็น eval 32 00:02:54,725 --> 00:03:03,262 กำหนดเอง โดยให้สร้าง landing page โดยมีคำสั่งพื้นฐานนิดหน่อยแล้วดูว่าพวกมันจะทำอะไรออกมา 33 00:03:03,262 --> 00:03:11,314 ส่วนนี้จะเห็นเป็นภาพได้ชัด และก็ประเมินรสนิยมหรือทางเลือกด้านการออกแบบของแต่ละโมเดล 34 00:03:11,314 --> 00:03:17,426 ผมว่าน่าสนใจดีนะครับ ทั้งหมดนี้กระชับมากเพราะเราจะรันซ้ำหลายรอบ 35 00:03:17,426 --> 00:03:22,471 และจะมีการให้คะแนนแบบ deterministic ในหลาย benchmark 36 00:03:22,471 --> 00:03:29,359 ที่โชว์ให้ดู จึงเทียบกันได้แบบเที่ยงตรง ส่วนการประเมินด้วยสายตาจะใช้ที่ 37 00:03:29,359 --> 00:03:36,635 landing page เป็นหลัก เพื่อดูว่าแบบไหนดูดีกว่าหรือมีรสนิยมด้านดีไซน์มากกว่า 38 00:03:36,635 --> 00:03:41,389 ทีนี้มาดูการทดลองหนึ่ง: เปรียบเทียบ reference กับ 39 00:03:41,389 --> 00:03:46,143 aggregator เราจะตั้งค่านี้ในเว็บแดชบอร์ด ถ้าพิมพ์ 40 00:03:46,143 --> 00:03:51,479 `hermes dashboard` ใน CLI ก็จะเข้ามาหน้านี้ เลื่อนไปที่ 41 00:03:51,479 --> 00:03:57,494 models และนี่คือโมเดล Mixture of Agents สามารถตั้งค่าได้ตามนี้ 42 00:03:57,494 --> 00:04:02,829 จะเห็นว่าเพิ่ม reference models ได้ แล้วก็มี aggregator 43 00:04:02,829 --> 00:04:09,135 ซึ่งเป็นตัวขับเคลื่อน tool หลัก คำถามของผมคือ การมีโมเดลหนึ่งเป็น 44 00:04:09,135 --> 00:04:14,762 aggregator และอีกตัวเป็น reference สร้างความแตกต่างอย่างไร 45 00:04:14,762 --> 00:04:19,419 แล้วก็สลับกันดู ในการทดสอบนี้ ผมจะลองให้ Mixtral 46 00:04:19,419 --> 00:04:24,367 8x7B Pro เป็น aggregator และ DeepSeek V4 Flash เป็น 47 00:04:24,367 --> 00:04:28,927 reference โมเดลสองตัวนี้ราคาถูกกว่าและจะรันผ่าน 48 00:04:28,927 --> 00:04:34,359 Nous Portal น่าจะได้ผลดี เพราะทั้งคู่เป็นโมเดลที่เก่งมาก 49 00:04:34,359 --> 00:04:39,113 เมื่อทดสอบแบบนี้แล้ว เราจะสลับกัน ให้ DeepSeek V4 50 00:04:39,113 --> 00:04:45,613 เป็น aggregator และ Mixtral เป็น reference เพื่อดูว่าต่างกันอย่างไร 51 00:04:45,613 --> 00:04:52,501 นี่คือ prompt ที่จะให้ทุกโมเดล เขียนไว้แล้วเพื่อให้ทุกการรันเทียบกันได้ 52 00:04:52,501 --> 00:04:57,546 โดยพื้นฐานคือสั่งเอเจนต์ให้รัน Hermes eval benchmark 53 00:04:57,546 --> 00:05:02,106 ทำงานจาก directory เดียว โดยมีไฟล์ task หลักคือ 54 00:05:02,106 --> 00:05:06,763 `task-hard.md` แล้วโมเดลจะเขียนคำตอบ จากนั้นจะมี 55 00:05:06,763 --> 00:05:11,516 script Python ที่เป็นตัวให้คะแนนแบบ deterministic 56 00:05:11,516 --> 00:05:16,076 โมเดลจะไม่ได้ตรวจให้คะแนนตัวเอง มันจะรัน script 57 00:05:16,076 --> 00:05:22,188 นี้ซึ่งให้คะแนนที่ถูกต้อง โอเค เริ่มรันแล้ว จะเห็นว่าตัวนี้ชื่อ 58 00:05:22,188 --> 00:05:27,912 AggRef-Mixtral ผม initialize แล้วใส่ prompt ไป และจะเห็นว่า 59 00:05:27,912 --> 00:05:32,666 reference model กำลัง "คิด" จริงๆ นี่คือ DeepSeek 60 00:05:32,666 --> 00:05:37,419 V4 และจะเห็นสิ่งที่มันกำลังคิดอยู่: "Sequentially 61 00:05:37,419 --> 00:05:42,270 execute the Hermes eval benchmark for the profile" 62 00:05:42,270 --> 00:05:47,800 แล้วมันก็ให้คำแนะนำ น่าสนใจดี เพราะตอนทำวิดีโอสัปดาห์ก่อน 63 00:05:47,800 --> 00:05:55,076 ยังไม่เห็นส่วนนี้ ผมไม่แน่ใจว่าเป็นการอัปเกรดใหม่หรือการตั้งค่าของผมเปลี่ยน 64 00:05:55,076 --> 00:06:00,024 แต่ตอนนี้เราเห็นสิ่งที่ reference model กำลังคิดได้ 65 00:06:00,024 --> 00:06:05,845 ซึ่งค่อนข้างเจ๋ง มันกำลังรันทุกอย่าง และจะเห็น "aggregating" 66 00:06:05,845 --> 00:06:11,181 ด้านล่าง หลังจากได้คำแนะนำแล้ว โมเดล Mixtral ก็เรียกใช้ 67 00:06:11,181 --> 00:06:18,651 tool หรือทำสิ่งที่จำเป็นเพื่อรัน benchmark ผมปล่อยให้มันรันต่อแล้วเราจะมาดูผล 68 00:06:18,651 --> 00:06:24,084 มันตลกดีที่ได้ดูความคิดของ reference model เหมือนโค้ชเลย 69 00:06:24,084 --> 00:06:29,420 "the acting agent told me it's made excellent progress" 70 00:06:29,420 --> 00:06:34,076 "Timer start" ที่เป็นสีแดงทั้งหมดนั้น "Risks and 71 00:06:34,076 --> 00:06:39,121 mistakes spotted" แล้วมันก็ระบุความเสี่ยงเพิ่มเข้ามา 72 00:06:39,121 --> 00:06:47,853 นี่คือคำแนะนำส่วนตัวที่มันให้ แต่น่าขบถนิดหน่อยที่วิธีมันพูดเหมือนโค้ชที่ยืนอยู่มุมห้องเลย 73 00:06:47,853 --> 00:06:52,606 โอเค รันเสร็จแล้ว เรามาดูผลตรงนี้ คะแนนค่อนข้างดี 74 00:06:52,606 --> 00:06:57,748 ซึ่งก็เป็นไปตามที่คาด เพราะทั้งสองเป็นโมเดลที่เก่งมาก 75 00:06:57,748 --> 00:07:02,599 reasoning ได้คะแนนเต็ม ส่วน coding และ instruction 76 00:07:02,599 --> 00:07:08,323 ตอบถูก 13 จาก 15 ส่วน optimize ซึ่งเป็นเหมือนโบนัสว่าสามารถ 77 00:07:08,323 --> 00:07:13,465 optimize องค์ประกอบต่างๆ เช่น speedup และ compression 78 00:07:13,465 --> 00:07:19,189 ratio ได้หรือไม่ จะเห็นว่าทำได้ดีมาก แต่ก็ใช้เวลานานพอสมควร 79 00:07:19,189 --> 00:07:24,039 ต้องพิจารณาเรื่องนี้ด้วย ใช้เวลาจริงประมาณ 19 นาที 80 00:07:24,039 --> 00:07:28,793 มาดู landing page ที่มันสร้าง นี่คือ landing page 81 00:07:28,793 --> 00:07:34,032 ที่สร้าง ไม่มีอะไรโดดเด่น สีม่วงกับดำ มันสร้าง landing 82 00:07:34,032 --> 00:07:39,562 page สำหรับ Hermes ก็เหมือนกัน แต่แต่งรายละเอียดขึ้นมาเอง 83 00:07:39,562 --> 00:07:44,219 ไม่มีแผน Pro หรือ Team แล้วก็ landing page ง่ายๆ 84 00:07:44,219 --> 00:07:49,069 แต่ก็ทำได้สำเร็จ หวังว่าเราจะอัปเกรดจากตรงนี้ได้นะ 85 00:07:49,069 --> 00:07:55,860 ถ้าไดนามิกกว่านี้ก็ดี นี่เป็น baseline ของเรา และเราจะมีการเปรียบเทียบ 86 00:07:55,860 --> 00:08:00,711 MoA showdown ทั้งหมดที่นี่ นี่เป็นอันแรก ชื่อผิดนะ 87 00:08:00,711 --> 00:08:05,368 ไม่ใช่ GPT แต่จะเป็น Mixtral เป็น aggregator และ 88 00:08:05,368 --> 00:08:11,189 DeepSeek เป็น reference ตอนนี้เราจะสลับกัน กลับไปที่แดชบอร์ด 89 00:08:11,189 --> 00:08:16,331 ไปที่ Nous Portal แล้วผมจะตั้ง Mixtral เป็น reference 90 00:08:16,331 --> 00:08:21,181 และ DeepSeek เป็น aggregator โอเค นี่จะเป็น preset 91 00:08:21,181 --> 00:08:25,741 ใหม่ ชื่อ AggRef-DeepSeek บันทึก ตอนนี้เราจะรัน 92 00:08:25,741 --> 00:08:31,465 eval เดียวกันกับตัวนี้แล้วดูความแตกต่าง โอเค สลับไปยังโมเดล 93 00:08:31,465 --> 00:08:36,219 MoA แบบ AggRef-DeepSeek แล้ว ตอนนี้ reference คือ 94 00:08:36,219 --> 00:08:43,301 Mixtral ให้ prompt เดียวกันทุกประการแล้วมาดูผล ว่าจะมีความแตกต่างอะไรบ้าง 95 00:08:43,301 --> 00:08:48,249 การดูมันทำงานน่าสนใจมาก เพราะจะเห็น reference model 96 00:08:48,249 --> 00:08:53,294 ตั้งข้อสังเกตปัญหา จะเห็น aggregator model ให้เครดิต 97 00:08:53,294 --> 00:08:58,823 reference model ที่จับบั๊กบางอย่างได้ ด้านล่างก็เหมือนกัน 98 00:08:58,823 --> 00:09:09,204 "good catches from the reference" น่าสนใจดีที่มีเอเจนต์สำรองคอยจับปัญหาที่เอเจนต์หลักไม่เจอในการรันครั้งแรก 99 00:09:09,204 --> 00:09:16,092 เสร็จแล้ว เราได้ผลรวมตรงนี้ ภาพรวมน่าจะต่ำกว่าอันก่อนนิดหน่อยใช่ไหมครับ 100 00:09:16,092 --> 00:09:20,749 มาดู landing page กัน นี่คือเปรียบเทียบแบบกระดาน 101 00:09:20,749 --> 00:09:25,794 นี่คืออันแรกที่ Mixtral เป็น aggregator และ DeepSeek 102 00:09:25,794 --> 00:09:30,547 เป็น reference ได้คะแนนรวม 92% ส่วน DeepSeek เป็น 103 00:09:30,547 --> 00:09:35,689 aggregator และ Mixtral เป็น reference ต่ำกว่านิดหน่อย 104 00:09:35,689 --> 00:09:42,092 คะแนน BFCL (สำหรับ tool calling) เท่าเดิม แต่ข้ออื่นต่ำกว่าทั้งหมด 105 00:09:42,092 --> 00:09:48,010 อย่างไรก็ตาม อันนี้เร็วกว่าอย่างมาก ต้องคำนึงถึงเรื่องนี้ด้วย 106 00:09:48,010 --> 00:09:53,152 และทำได้ดีกว่าในหนึ่งในตัว optimize และนี่คือ landing 107 00:09:53,152 --> 00:09:59,264 page ของเรา สไตล์คล้ายกันใช่ไหมครับ ตรงส่วนบนเลือกสไตล์คล้ายกัน 108 00:09:59,264 --> 00:10:04,018 ผมว่าจริงๆ แล้วมันดีกว่าด้วยซ้ำ ซึ่งน่าสนใจ บางที 109 00:10:04,018 --> 00:10:11,585 DeepSeek อาจมีสไตล์ที่ดีกว่านิดหน่อย หรืออย่างน้อยก็รู้ว่าควรใช้พื้นหลังสีเข้ม 110 00:10:11,585 --> 00:10:17,600 ผมยังได้รัน eval กับโมเดลแต่ละตัวเพียงลำพัง เพื่อดูความแตกต่าง 111 00:10:17,600 --> 00:10:23,712 นี่คือของ DeepSeek แต่ก็รันของ Mixtral ด้วย และผลน่าสนใจทีเดียว 112 00:10:23,712 --> 00:10:28,951 มาดูกระดานเปรียบเทียบตอนนี้กัน ผลโดยรวมค่อนข้างน่าสนใจ 113 00:10:28,951 --> 00:10:33,898 นี่คือสรุปคะแนนสุดท้าย ผมรัน Mixtral เดี่ยวๆ ไม่ใช่ 114 00:10:33,898 --> 00:10:40,302 MoA และก็รัน DeepSeek เดี่ยวๆ เช่นกัน จะเห็นว่ามีความแตกต่างชัดเจน 115 00:10:40,302 --> 00:10:45,152 และ aggregator สำคัญมากจริงๆ เพราะ Mixtral เดี่ยวๆ 116 00:10:45,152 --> 00:10:50,197 ได้ 92% โดยรวม และ MoA ที่มี Mixtral เป็น aggregator 117 00:10:50,197 --> 00:10:54,757 ก็ได้ 92% เช่นกัน ส่วน DeepSeek เดี่ยวๆ ได้ 76% 118 00:10:54,757 --> 00:11:00,675 แต่เมื่อเป็น MoA ที่มี Mixtral เป็น reference ก็ดึงขึ้นมาเป็น 119 00:11:00,675 --> 00:11:05,720 84% แสดงว่า MoA นี้มีประสิทธิภาพจริงๆ โมเดล DeepSeek 120 00:11:05,720 --> 00:11:10,861 ที่ได้รับคำแนะนำจาก Mixtral ทำได้ดีขึ้น การดู landing 121 00:11:10,861 --> 00:11:17,846 pages ก็น่าสนใจเช่นกัน สองแบบที่ใช้ DeepSeek ไม่ว่าจะเป็นโมเดลเดี่ยวหรือ 122 00:11:17,846 --> 00:11:23,473 aggregator ใช้สไตล์คล้ายกันมาก หัวเรื่องเหมือนกันแทบจะเป๊ะ 123 00:11:23,473 --> 00:11:28,130 เช่น "Run AI agents on your machine" กับ "Run AI 124 00:11:28,130 --> 00:11:32,884 agents wherever you are" ส่วนสองแบบที่ใช้ Mixtral 125 00:11:32,884 --> 00:11:37,638 เป็นหลัก ใช้คำที่ต่างกันออกไป เช่น "Your AI agent 126 00:11:37,638 --> 00:11:42,197 running locally" กับ "The AI agent runtime that 127 00:11:42,197 --> 00:11:47,436 runs locally" น่าสนใจดีที่เห็นผลลัพธ์ที่ต่างกันเช่นนี้ 128 00:11:47,436 --> 00:11:52,384 แน่นอนว่าในกรณีนี้ Mixtral เป็นโมเดลที่ก้าวหน้ากว่า 129 00:11:52,384 --> 00:11:57,138 DeepSeek (อันนี้เป็น DeepSeek Flash นะ ไม่ใช่รุ่น 130 00:11:57,138 --> 00:12:02,085 Pro เพราะผมอยากให้มีตัวแบ่งความต่างระหว่างสองโมเดล) 131 00:12:02,085 --> 00:12:07,130 จะเห็นว่าถ้าให้เลือกระหว่าง aggregator และ reference 132 00:12:07,130 --> 00:12:12,175 ควรใส่โมเดลที่ดีกว่าเป็น aggregator จะได้ผลที่ดีกว่า 133 00:12:12,175 --> 00:12:17,317 ส่วน reference ก็ช่วยเสริมขีดความสามารถให้ เช่นในส่วน 134 00:12:17,317 --> 00:12:22,750 instruction following ก็ทำได้ดีขึ้น แม้คะแนนรวมจะเท่ากัน 135 00:12:22,750 --> 00:12:27,406 ผลจึงน่าสนใจอย่างน้อยสำหรับผมที่ทดลองเล่นกับ MoA 136 00:12:27,406 --> 00:12:32,160 และดูความสัมพันธ์ระหว่าง aggregator กับ reference 137 00:12:32,160 --> 00:12:38,660 ฉะนั้นอย่าลืมเรื่องนี้เวลาสร้าง MoA นะครับ วิดีโอนี้ตอบคำถามนี้แล้ว 138 00:12:38,660 --> 00:12:45,063 แต่ผมยังมีคำถามอื่นเกี่ยวกับ MoAอีก จึงจะทำวิดีโอติดตามผลเพิ่มเติม 139 00:12:45,063 --> 00:12:51,563 วิดีโอนี้จะจบลงแค่นี้ แต่คำถามต่อไปของผมคือ "เท่าไหร่คือมากเกินไป?" 140 00:12:51,563 --> 00:12:57,481 เราสามารถเพิ่ม reference models ได้ไม่จำกัด การเพิ่มไปเรื่อยๆ 141 00:12:57,481 --> 00:13:02,720 จะช่วยเพิ่มผลลัพธ์หรือไม่ หรือถึงจุดหนึ่งมันจะเพิ่มแต่ 142 00:13:02,720 --> 00:13:10,093 latency โดยไม่มีการพัฒนาจริง? และอีกคำถาม: "โมเดลฟรีสู้โมเดลเสียเงินได้ไหม?" 143 00:13:10,093 --> 00:13:14,847 กลุ่มของโมเดลฟรี ไม่จำเป็นต้องรันในเครื่องด้วยซ้ำ 144 00:13:14,847 --> 00:13:20,280 จะสามารถเอาชนะการเรียก API แบบเสียเงินตัวเดียวได้หรือไม่ 145 00:13:20,280 --> 00:13:27,071 ผมจะไปลองดูในวิดีโอติดตามผลนะครับ แต่วิดีโอนี้จบลงแค่นี้กับการทดลองใช้ 146 00:13:27,071 --> 00:13:32,407 Mixture of Agents ใน Hermes Agent ฝากคอมเมนต์ด้วยนะครับ 147 00:13:32,407 --> 00:13:37,646 บอกผมมาเลยว่าคุณคิดอย่างไร คุณได้ทดลอง MoA อย่างไรบ้าง 148 00:13:37,646 --> 00:13:44,534 และค้นพบอะไร ฝากกดไลค์ กด subscribe ด้วยนะครับ แล้วเจอกันใหม่วิดีโอหน้า 149 00:13:44,534 --> 00:13:46,280 ขอบคุณที่รับชมครับ