กำไร:
- ความสามารถในการรับรองความสามารถในการทำซ้ำด้วยสี่เสาหลัก (การตรึงเมล็ดพันธุ์ การกำหนดเวอร์ชันข้อมูล การแช่แข็งสื่อ การตรวจสอบการทดลอง) และให้ผลลัพธ์เดียวกันเมื่อทำซ้ำการดำเนินการเดิม
- ความสามารถในการรวมจุดหยุดทั้งหมดของโมดูล (ตัวชี้วัด ข้อมูล โมเดล ส่วนประกอบ LLM การประเมิน ความเป็นธรรม ความปลอดภัย การกระจาย การตรวจสอบ) ในห่วงโซ่แบบครบวงจร
- ความสามารถในการตรวจสอบว่าการตัดสินใจที่สำคัญยังคงอยู่กับมนุษย์ ณ จุดแวะพักแต่ละแห่ง และจัดทำเอกสารโครงการในลักษณะที่สามารถตรวจสอบได้
ความล้มเหลวที่ร้ายกาจที่สุดของโปรเจ็กต์ ML ไม่ใช่ความผิดพลาด "ไม่ได้รับผลเหมือนเดิมอีกต่อไป" หากคุณไม่สามารถสร้างคะแนนของแบบจำลองที่คุณนำไปใช้จริงเมื่อสามเดือนที่แล้วในวันนี้ แสดงว่าคุณไม่ได้ควบคุมแบบจำลองนั้นจริงๆ ในหน่วยปิดนี้ เราเพิ่มความสามารถในการทำซ้ำ: ความสามารถในการได้รับผลลัพธ์เดียวกันอย่างน่าเชื่อถือด้วยอินพุตเดียวกัน และรวมโมดูลทั้งหมดเข้าไว้ในระเบียบวินัยของโครงการตั้งแต่ต้นจนจบ
เหตุใดการทำซ้ำจึงเป็นเรื่องยาก
ในซอฟต์แวร์ทั่วไป รหัสเดียวกันจะให้ผลลัพธ์เหมือนกัน ใน ML มีตัวแปรอีกมากมายที่กำหนดผลลัพธ์:
- ความสุ่ม: การสับเปลี่ยนข้อมูล การเริ่มต้นน้ำหนัก การแยกข้อมูล ทั้งหมดนี้ขึ้นอยู่กับการสุ่ม
- ข้อมูล: รหัสเดียวกันสร้างโมเดลที่แตกต่างกันโดยมีเวอร์ชันข้อมูลต่างกัน
- สภาพแวดล้อม: เวอร์ชันไลบรารี ฮาร์ดแวร์ (CPU/GPU) แม้แต่ระบบปฏิบัติการก็สามารถเปลี่ยนผลลัพธ์ได้
- กรณีที่ซ่อนอยู่: ไฮเปอร์พารามิเตอร์ที่ไม่ได้บันทึก ขั้นตอนการประมวลผลล่วงหน้าด้วยตนเอง การเลือกที่ไม่ได้สังเกต
ความสามารถในการทำซ้ำไม่ใช่สิ่งที่ "ดีที่มี" แต่เป็นความจำเป็นทางวิทยาศาสตร์และวิศวกรรม ผลลัพธ์ที่ไม่สามารถทำซ้ำได้คือการกล่าวอ้างที่ไม่สามารถพิสูจน์ได้
สี่เสาหลักของความสามารถในการทำซ้ำ
1. แก้ไขการสุ่ม ตั้งค่าการสุ่มเมล็ดทั้งหมดไว้ในที่เดียว: การแยกข้อมูล การเริ่มต้นโมเดล การสับข้อมูล เมล็ดพันธุ์คงที่เป็นพื้นฐานของการรับประกัน "ผลลัพธ์เดียวกันเมื่อคุณวิ่งซ้ำครั้งเดิม"
2. กำหนดเวอร์ชันข้อมูล บันทึกว่าการทดลองแต่ละครั้งใช้ข้อมูลเวอร์ชันใด (การกำหนดเวอร์ชันข้อมูลในหน่วยที่ 2) “ข้อมูลล่าสุด” มีความคลุมเครือ "data version v3, hash abc123" ถูกต้องทุกประการ
3. แช่แข็งสื่อ ปักหมุดการอ้างอิงทั้งหมดให้เป็นเวอร์ชันที่แน่นอน (เช่น เวอร์ชันที่แน่นอน เช่น numpy==1.26.4 ในข้อกำหนด.txt หรืออิมเมจคอนเทนเนอร์) "เวอร์ชันล่าสุด" จะทำลายทุกอย่างในวันหนึ่ง
4. ติดตามทุกสิ่ง (การติดตามการทดลอง) บันทึกโดยอัตโนมัติสำหรับการทดสอบแต่ละรายการ: เวอร์ชันโค้ด (คอมไพล์ git), เวอร์ชันข้อมูล, ไฮเปอร์พารามิเตอร์ทั้งหมด, เมตริก และโครงสร้างเอาต์พุต เครื่องมือติดตามการทดลอง เช่น MLflow, Weights & Biases ทำสิ่งนี้อย่างเป็นระบบ หากไม่มีการลงทะเบียน คำถาม "การตั้งค่าใดดีที่สุด" ยังคงไม่ได้รับคำตอบ
ข้อควรระวัง: "ฉันจะจำไว้ทีหลัง" เป็นการเข้าใจผิดที่แพงที่สุด สองสัปดาห์ต่อมา คุณจะจำไม่ได้ว่าข้อมูลเริ่มต้นใด ข้อมูลใด และไฮเปอร์พารามิเตอร์ใดที่คุณใช้ การติดตามอัตโนมัติช่วยลดการพึ่งพาหน่วยความจำ
แนวทางที่อ่อนแอ / แนวทางที่แข็งแกร่ง
อ่อนแอ: "เจอรุ่นที่ดีที่สุดแล้ว อยู่ในโน้ตบุ๊ก ฉันคิดว่าคะแนนอยู่ที่ 89%"
แข็งแกร่ง: "เรียกใช้ #147 ในเครื่องมือติดตามการทดสอบ: git commit a3f9c, เวอร์ชันข้อมูล v3 (แฮช abc123), seed 42, ไฮเปอร์พารามิเตอร์ทั้งหมดที่ลงทะเบียนไว้, ทดสอบ PR-AUC 0.887 เมื่อฉันรันคำสั่งเดิมอีกครั้ง ฉันก็จะได้รับผลลัพธ์เดียวกันทีละนิด โมเดลขึ้นอยู่กับการทำงานนี้ในรีจิสทรี"
ความแตกต่าง: ในแนวทางที่เข้มงวด ผลลัพธ์ไม่ได้ขึ้นอยู่กับหน่วยความจำ แต่อยู่บนเครือข่ายแบบคงที่และได้รับการตรวจสอบ ทุกคนสามารถสร้างผลลัพธ์ที่เหมือนกันทุกครั้ง
โครงการ end-to-end: การรวมกันของโมดูล
ตอนนี้เรามารวมโมดูลทั้งหมดไว้ในโฟลว์โปรเจ็กต์เดียว ระบบ ML จริงจะต้องผ่านการหยุดเหล่านี้ และแต่ละจุดจะสร้างขึ้นจากจุดหยุดก่อนหน้า:
- คำจำกัดความของปัญหา: เรากำลังแก้ไขอะไร จะวัดความสำเร็จได้อย่างไร (หน่วยที่ 3: ตัวชี้วัดที่ถูกต้อง บริบททางธุรกิจ) เมตริกและเกณฑ์มีความชัดเจนตั้งแต่เริ่มต้น
- ไปป์ไลน์ข้อมูล: การรวบรวม การตรวจสอบความถูกต้อง การล้าง การแบ่งพาร์ติชันที่ปราศจากการรั่วไหล การกำหนดเวอร์ชัน (หน่วยที่ 2)
- การพัฒนาแบบจำลอง: การฝึกอบรม การเปรียบเทียบพื้นฐาน การตรวจสอบข้าม เมล็ดแข็ง (หน่วยที่ 3 + หน่วยนี้)
- ส่วนประกอบ LLM (ถ้ามี): RAG (หน่วยที่ 4) และ/หรือตัวแทน (หน่วยที่ 5); ปรับแต่งอย่างละเอียดหากจำเป็น (หน่วย 6)
- การประเมิน: คลัสเตอร์ประเมินที่มี Edge และกรณีการรักษาความปลอดภัย การประเมินแบบหลายชั้นในระบบ LLM (หน่วยที่ 8)
- การตรวจสอบความยุติธรรมและจริยธรรม: การวิเคราะห์กลุ่มย่อย บัตรตัวอย่าง ความสามารถในการอธิบาย (หน่วยที่ 10)
- การตรวจสอบความปลอดภัย: การแทรกแซงทันที ความเป็นส่วนตัว ห่วงโซ่อุปทาน (หน่วยที่ 9)
- การกระจาย: การบรรจุภัณฑ์ การกระจายแบบค่อยเป็นค่อยไป การย้อนกลับ การลงทะเบียนแบบจำลอง (หน่วยที่ 7)
- การตรวจสอบ: การตรวจสอบสามชั้น สัญญาณเตือนการดริฟท์ (หน่วย 8)
- ความสามารถในการทำซ้ำ: การติดตามเมล็ดพันธุ์ เวอร์ชันข้อมูล สื่อ และการทดลองตลอดห่วงโซ่ทั้งหมด (หน่วยนี้)
ในโฟลว์นี้ AI เป็นตัวเร่งและตัวสร้างพิมพ์เขียวในทุกจุดแวะพัก แต่การเลือกตัวชี้วัด การตัดสินใจข้อมูล การจัดลำดับความสำคัญอย่างยุติธรรม เกณฑ์การปรับใช้ และการอนุมัติการเปิดตัว การตัดสินใจที่สำคัญยังคงอยู่ที่มนุษย์ นี่คือสาระสำคัญของโมดูล
เอกสารประกอบ: อนาคตจะขอบคุณ
โครงการ ML ที่ดีจะจัดทำเอกสารในตัวเอง อย่างน้อยที่สุด ควรเขียนสิ่งต่อไปนี้: เกณฑ์ปัญหาและความสำเร็จ แหล่งข้อมูลและเวอร์ชัน การเลือกแบบจำลองและเหตุผล ผลการประเมิน (รวมถึงกลุ่มย่อย) ขีดจำกัดและความเสี่ยงที่ทราบ ขั้นตอนการใช้งานและการดึงข้อมูล แผนการตรวจสอบ เอกสารนี้เป็นเพื่อนที่ดีที่สุดของบุคคล (อาจเป็นคุณ) ที่กลับมาที่โครงการหลังจากหกเดือน
มินิเคสสามอัน
กรณีที่ 1 - ผลการแพ้ วิศวกรคนหนึ่งได้ฝึกฝนโมเดลที่ยอดเยี่ยม แต่เขาไม่ได้แก้ไขข้อมูลเริ่มต้นและไม่ได้บันทึกเวอร์ชันข้อมูล เมื่อเขาออกจากงาน ไม่มีใครสามารถสร้างผลลัพธ์นั้นขึ้นมาใหม่ได้ โมเดลดังกล่าวกลายเป็น "ตำนานกล่องดำ" และในที่สุดก็ถูกสร้างขึ้นตั้งแต่ต้น เสียเวลาหลายสัปดาห์ บทเรียน: ผลลัพธ์ที่ไม่สามารถทำซ้ำได้คือผลลัพธ์ที่ไม่มีอยู่จริง
กรณีที่ 2 - สภาพแวดล้อมล่มสลาย ทีมหนึ่งไม่ได้แก้ไขการพึ่งพา เมื่อไลบรารีได้รับการอัปเดตโดยอัตโนมัติ เอาท์พุตของโมเดลจะเปลี่ยนไปโดยไม่แจ้งให้ทราบ และการผลิตหยุดชะงัก ใช้เวลาหลายวันในการค้นหาปัญหา เมื่อการขึ้นต่อกันถูกตรึงและบรรจุด้วยเวอร์ชันขั้นสุดท้าย ปัญหาจะไม่เกิดขึ้นอีก บทเรียน: หยุดสิ่งแวดล้อม
กรณีที่ 3 - พลังของการตรวจสอบ ทีมงานจะติดตามการทดลองแต่ละครั้งโดยอัตโนมัติ สามเดือนต่อมา ในระหว่างการตรวจสอบตามกฎระเบียบ พวกเขาตอบคำถามว่า "ด้วยข้อมูลอะไร การตั้งค่าอะไร ประสิทธิภาพเป็นอย่างไรในกลุ่มใด" พร้อมการบันทึกแบบเต็มภายในไม่กี่นาที การตรวจสอบเป็นไปอย่างราบรื่น บทเรียน: การตรวจสอบเป็นเครื่องมือในการปฏิบัติตามข้อกำหนด ไม่ใช่แค่เครื่องมือทางวิศวกรรมเท่านั้น
เทมเพลตที่คัดลอกได้
ตรวจสอบความสามารถในการทำซ้ำสำหรับโปรเจ็กต์ ML นี้- มีการสุ่มเมล็ดข้อมูลแบบสุ่มทั้งหมดหรือไม่ (แยก เริ่มต้น สับเปลี่ยน) หรือไม่- มีการกำหนดเวอร์ชันของข้อมูลหรือไม่- การขึ้นต่อกันถูกตรึงไว้เป็นเวอร์ชันที่แน่นอนหรือไม่- มีการติดตามทุกการทดลอง (การคอมมิตโค้ด ข้อมูล ไฮเปอร์พารามิเตอร์ เมตริก) หรือไม่ เขียนขั้นตอนที่เป็นรูปธรรมเกี่ยวกับวิธีการแก้ไขสำหรับแต่ละคอลัมน์ที่หายไป โครงสร้างโครงการ: [คำอธิบาย]
สร้างโครงร่างแผนสำหรับโปรเจ็กต์ ML แบบครบวงจรนี้ ปัญหา: [คำอธิบาย] ครอบคลุมจุดแวะต่อไปนี้และทำเครื่องหมายว่าการตัดสินใจของมนุษย์อยู่ที่จุดใดจุดแวะพักแต่ละแห่ง: ปัญหา/ตัวชี้วัด ไปป์ไลน์ แบบจำลอง (RAG/ตัวแทน/ปรับแต่ง?) การประเมิน ความเป็นธรรม ความปลอดภัย การกระจาย การตรวจสอบ ความสามารถในการทำซ้ำ เขียนความเสี่ยงหลักและขั้นตอนการตรวจสอบสำหรับการหยุดแต่ละครั้ง
สร้างเทมเพลตเอกสารทางเทคนิคสำหรับโปรเจ็กต์นี้ ส่วนต่างๆ: ปัญหา+เกณฑ์ความสำเร็จ ข้อมูล (แหล่งที่มา+เวอร์ชัน) การเลือกแบบจำลอง+เหตุผล การประเมิน (รวมถึงกลุ่มย่อย) ขีดจำกัด+ความเสี่ยงที่ทราบ การปรับใช้+การย้อนกลับ แผนการตรวจสอบ ระบุช่องที่ต้องกรอกในแต่ละส่วนเป็นคำถาม
ตรวจสอบการตั้งค่าการตรวจสอบการทดสอบของฉัน: ระบบจะบันทึกอัตโนมัติทุกครั้งที่ดำเนินการหรือไม่: คอมมิตคอมมิต, เวอร์ชัน/แฮชของข้อมูล, ไฮเปอร์พารามิเตอร์ทั้งหมด, เมตริกทั้งหมด, สภาพแวดล้อม (เวอร์ชันไลบรารี) ฉันจะได้ผลลัพธ์เหมือนเดิมหรือไม่เมื่อฉันวิ่งแบบเดิมอีกครั้ง? การตั้งค่า: [คำอธิบาย] ระบุข้อบกพร่องและการแก้ไข
ตารางคอลัมน์ความสามารถในการทำซ้ำ
คอลัมน์
สิ่งที่ได้รับการแก้ไข
ตัวอย่างยานพาหนะ
ความบังเอิญ
เมล็ดทั้งหมด
การตั้งค่าเมล็ด
ข้อมูล
เวอร์ชันข้อมูล/แฮช
ดีวีซี
สิ่งแวดล้อม
เวอร์ชันของไลบรารี
หมุดข้อกำหนด Docker
การตรวจสอบ
โค้ด+ข้อมูล+การตั้งค่า+เมตริก
เอ็มแอลโฟลว์, ดับบลิวแอนด์บี
ข้อผิดพลาดทั่วไป
- ไม่ยึดเมล็ด. ผลลัพธ์ไม่สามารถทำซ้ำได้
- ไม่บันทึกเวอร์ชันข้อมูล “ด้วยข้อมูลอะไร?” ยังคงไม่ได้รับคำตอบ
- ไม่ใช่การเสพติดแบบแช่แข็ง การอัปเดตจะทำลายทุกสิ่งอย่างเงียบ ๆ
- ทิ้งการทดลองไว้ในความทรงจำ สองสัปดาห์ต่อมาไม่มีอะไรจำได้
- ปล่อยให้การตัดสินใจที่สำคัญเป็นหน้าที่ของปัญญาประดิษฐ์ การตัดสินใจด้านตัวชี้วัด ความยุติธรรม และการกระจายสินค้าควรคงอยู่กับผู้คน
- การเลื่อนเอกสาร ทีมในอนาคต (และคุณ) จะต้องชดใช้
โดยสรุป
ความสามารถในการทำซ้ำเป็นลายเซ็นต์ของวิศวกรรม ML ที่จริงจัง: ผลลัพธ์ที่ไม่สามารถทำซ้ำได้ถือเป็นข้อกล่าวอ้างที่พิสูจน์ไม่ได้ มีสี่คอลัมน์ — แก้ไขการสุ่ม ข้อมูลเวอร์ชัน หยุดสภาพแวดล้อม ติดตามการทดลองแต่ละครั้ง โครงการแบบ end-to-end รวมจุดหยุดทั้งหมดของโมดูลนี้ (ตัวชี้วัด ข้อมูล โมเดล ส่วนประกอบ LLM การประเมิน ความเป็นธรรม ความปลอดภัย การกระจาย การตรวจสอบ) ในห่วงโซ่ที่เชื่อมต่อถึงกัน ปัญญาประดิษฐ์เป็นตัวเร่งความเร็วในทุกจุดจอด แต่การตัดสินใจที่สำคัญยังคงอยู่ที่มนุษย์ จัดทำเอกสารทุกอย่าง เพื่อทีมและการตรวจสอบในอนาคต ระเบียบวินัยนี้เป็นกรอบการทำงานที่ค้ำจุนทุกสิ่งที่คุณเรียนรู้ตลอดหลักสูตร
งานสมัคร
ตรวจสอบโปรเจ็กต์ ML โดยเทียบกับเสาหลักสี่ประการ ได้แก่ เมล็ดพืชไม่เปลี่ยนรูป มีการกำหนดเวอร์ชันของข้อมูล สภาพแวดล้อมถูกแช่แข็ง มีการติดตามการทดลองหรือไม่ แก้ไขคอลัมน์ที่ขาดหายไปและพิสูจน์ว่าคุณสามารถรันการรันเดียวกันสองครั้งและได้ผลลัพธ์เหมือนเดิม จากนั้นส่งออกโฟลว์ตั้งแต่ต้นจนจบของโปรเจ็กต์ (10 จุดแวะพัก) ในหนึ่งหน้าและทำเครื่องหมาย "การตัดสินใจของมนุษย์อยู่ที่ไหน" ที่จุดแวะพักแต่ละแห่ง สุดท้าย ให้เขียนร่างเอกสารทางเทคนิคสั้นๆ
รายการตรวจสอบ
- [ ] แก้ไขการสุ่มเมล็ดทั้งหมดแล้ว
- [ ] เวอร์ชันข้อมูล/แฮชจะถูกบันทึกในการทดลองแต่ละครั้ง
- [ ] การขึ้นต่อกันถูกตรึงไว้กับเวอร์ชันที่มั่นคง (พิน/คอนเทนเนอร์)
- [ ] การทดสอบแต่ละรายการจะได้รับการตรวจสอบโดยอัตโนมัติ (โค้ด+ข้อมูล+การตั้งค่า+เมตริก)
- [ ] เมื่อฉันวิ่งแบบเดิมๆ ซ้ำๆ ฉันก็จะได้ผลลัพธ์เหมือนเดิม
- [ ] ฉันตรวจสอบและบันทึกว่าการตัดสินใจที่สำคัญในกระบวนการไหลจากต้นทางถึงปลายทางนั้นกระทำโดยมนุษย์
การสอบโมดูล
1. ในฐานะวิศวกร ML อะไรคือแนวทางที่ดีที่สุดในการวางตำแหน่งปัญญาประดิษฐ์ในขั้นตอนการทำงาน
- ก) AI เป็นตัวเร่งในธุรกิจที่มีความเสี่ยงต่ำ การตัดสินใจที่สำคัญ เช่น ตัวชี้วัด ข้อมูล และการผลิตจะยังคงได้รับการตรวจสอบและปล่อยให้เป็นหน้าที่ของมนุษย์ ✔
- B) ตราบใดที่เอาต์พุต AI ดูดี ก็ไม่จำเป็นต้องตรวจสอบ
- C) การปล่อยให้การตัดสินใจนำโมเดลไปใช้งานจริงกับปัญญาประดิษฐ์จะช่วยประหยัดเวลา
- D) ปัญญาประดิษฐ์มีประโยชน์สำหรับการเขียนข้อความเท่านั้น ไม่เกี่ยวข้องกับข้อมูลและงานแบบจำลอง
คำอธิบาย: AI เป็นตัวเร่งอันทรงพลังสำหรับงานที่มีความเสี่ยงต่ำและตรวจสอบได้ง่าย เช่น โค้ด การย่อยข้อมูล และเอกสาร อย่างไรก็ตาม ความรับผิดชอบในการตัดสินใจที่มีผลกระทบต่อเงิน การรักษาความลับ และความรับผิดทางกฎหมาย เช่น การเลือกตัวชี้วัด ข้อมูลใดที่จะนำไปฝึกอบรม และการนำแบบจำลองไปใช้งานจริง จะขึ้นอยู่กับวิศวกรและทีมงานที่มีคุณสมบัติเหมาะสม ไม่ควรใช้แต่ละเอาต์พุตโดยไม่มีการตรวจสอบ
2. เหตุใดการตรวจสอบความถูกต้องของสคีมาจึงถูกวางไว้ที่จุดเริ่มต้นของไปป์ไลน์ข้อมูล
- A) เพราะมันเพิ่มความแม่นยำของแบบจำลองโดยตรง
- B) เนื่องจากทำให้ไม่จำเป็นต้องกำหนดเวอร์ชันข้อมูล
- C) เพราะจะจับข้อมูลที่เสียหายได้ตั้งแต่จุดแรกสุดและถูกที่สุด และป้องกันไม่ให้รั่วไหลไปสู่ขั้นตอนต่อไป ✔
- D) เพราะมันช่วยลดความจำเป็นในการติดฉลาก
คำอธิบาย: หากตรวจพบข้อมูลที่เสียหายก่อนหน้านี้ การแก้ไขก็จะยิ่งถูกลง การตรวจสอบความถูกต้องของสคีมาจะป้องกันไม่ให้ข้อมูลที่เสียหายรั่วไหลเข้าสู่การฝึกอบรมหรือการผลิตโดยปฏิเสธข้อมูลที่อยู่นอกประเภทและช่วงที่คาดหวังที่จุดเริ่มต้นของบรรทัด (เช่น ราคาขยับ 100 เท่าเมื่อเปลี่ยนหน่วย) ข้อผิดพลาดเดียวกันที่เกิดขึ้นในการผลิตมีราคาแพงกว่าหลายเท่า
3. อะไรคือแนวทางที่ถูกต้องในการแบ่งข้อมูลออกเป็นการฝึกอบรมและการทดสอบในปัญหาที่เกี่ยวข้องกับเวลา (อนุกรมเวลา)?
- A) ใช้การแยกแบบสุ่มเพราะมันเป็นวิธีที่ยุติธรรมที่สุดเสมอ
- B) การใช้การแบ่งเวลา: ป้องกันการรั่วไหลโดยการฝึกกับอดีตและการทดสอบในอนาคต ✔
- C) การใช้ข้อมูลทั้งหมดเป็นทั้งการฝึกอบรมและการทดสอบ
- D) การรวมข้อมูลการทดสอบเข้ากับพารามิเตอร์การปรับขนาดก่อนการฝึกอบรม
คำอธิบาย: การแยกอนุกรมเวลาแบบสุ่มทำให้แบบจำลองมีข้อได้เปรียบ 'การมองเห็นในอนาคต' ซึ่งจะไม่เกิดขึ้นในการผลิตและทำให้หน่วยวัดสูงเกินจริง (การรั่วไหลชั่วคราว) สิ่งที่ถูกต้องคือการแบ่งเวลา: ฝึกฝนกับอดีต ทดสอบในอนาคต นี่เป็นการวัดประสิทธิภาพจริงที่เก็บไว้ในการใช้งานจริง
4. เหตุใดความแม่นยำจึงทำให้เข้าใจผิดในแบบจำลองการตรวจจับการฉ้อโกงด้วยอัตราคลาสที่เป็นบวก 1.5%
- ก) เนื่องจากความแม่นยำจะต่ำเสมอสำหรับข้อมูลที่ไม่สมดุล
- B) เนื่องจากความแม่นยำสามารถใช้ได้เฉพาะกับปัญหาการถดถอยเท่านั้น
- C) เนื่องจากการคำนวณที่แม่นยำต้องใช้พลังการประมวลผลจำนวนมาก
- D) แม้แต่แบบจำลองเล็กๆ น้อยๆ ที่คาดการณ์ว่าชั้นเรียนส่วนใหญ่มีความแม่นยำมาก ซึ่งซ่อนความสำเร็จที่แท้จริงไว้ ✔
คำอธิบาย: สำหรับข้อมูลที่ไม่สมดุล แม้แต่โมเดลพื้นฐานที่ระบุว่า 'เรียกทุกอย่างเป็นลบ' ก็มีความแม่นยำประมาณ 98.5% แต่จะไม่พบการฉ้อโกงแม้แต่ครั้งเดียว ดังนั้น ในการจำแนกประเภทที่ไม่สมดุล ความแม่นยำ การเรียกคืน F1 หรือ PR-AUC จึงถูกนำมาใช้แทนความแม่นยำ และแต่ละหน่วยเมตริกจะถูกตีความตามแบบจำลองพื้นฐาน
5. เหตุใดการเปรียบเทียบพื้นฐานจึงมีความสำคัญเมื่อพูดถึงตัวชี้วัดของแบบจำลอง
- A) เพราะโมเดลพื้นฐานจะดีกว่าโมเดลจริงเสมอ
- B) เนื่องจากเป็นที่ชัดเจนว่าการวัดมีความหมายหรือไม่เฉพาะเมื่อเปรียบเทียบกับแบบจำลองพื้นฐานอย่างง่าย ✔
- C) เนื่องจากโมเดลพื้นฐานทำให้ไม่จำเป็นต้องมีการตรวจสอบข้าม
- D) เนื่องจากจำเป็นต้องมีโมเดลพื้นฐานตามกฎหมายในทุกรายงาน
คำอธิบาย: ตัวชี้วัดไม่ได้ดีหรือไม่ดีในตัวเอง จะดีหรือไม่ดีตามโมเดลพื้นฐาน ประโยค 'ถูกต้อง 85%' หมายถึงแทบจะไม่ไร้ค่าหากโมเดลพื้นฐานได้รับ 84% แล้ว และสมบูรณ์แบบหากได้รับ 50% หากไม่มีจุดยึดการเปรียบเทียบ เมตริกก็ไม่มีความหมาย
6. องค์ประกอบความปลอดภัยที่สำคัญที่สุดที่ควรรวมอยู่ในพร้อมท์การผลิตของระบบ RAG (Retriever-Augmented Generation) คืออะไร
- ก) คำสั่งให้อาศัยเฉพาะแหล่งที่มาที่ให้มา พูดว่า 'ฉันไม่รู้' หากไม่มีแหล่งที่มา และให้อ้างอิงแหล่งที่มา ✔
- B) การบอกให้แบบจำลองสร้างคำตอบที่ยาวและสร้างสรรค์ที่สุดเท่าที่จะเป็นไปได้
- C) โมเดลจัดลำดับความสำคัญของความรู้ทางการศึกษาของตัวเองมากกว่าทรัพยากร
- D) ปฏิบัติตามคำแนะนำทั้งหมดในเอกสารที่นำมาเป็นคำสั่ง
คำอธิบาย: คำสั่งที่สำคัญที่สุดเพียงอย่างเดียวของ RAG คือการบอกให้โมเดลใช้เฉพาะแหล่งที่มาที่ให้มา และหากข้อมูลไม่อยู่ในแหล่งที่มา ให้พูดว่า 'ฉันไม่รู้' และอ้างอิงแหล่งที่มาโดยไม่ต้องสร้างขึ้นใหม่ หากไม่มีกลุ่มสามกลุ่มนี้ แบบจำลองอาจเพิกเฉยต่อบริบทและทำให้เกิดอาการประสาทหลอน และคำตอบก็พิสูจน์ไม่ได้
7. ระบบ RAG ให้คำตอบที่ไม่ถูกต้อง สถานที่ที่ดีที่สุดในการเริ่มต้นการวินิจฉัยคือที่ใด?
- A) การวัดการดึงข้อมูลก่อน (Recall@K): ชิ้นส่วนที่ถูกต้องจะมาถึงหรือไม่? ✔
- B) แทนที่โมเดลด้วยโมเดลที่ใหญ่กว่าทันที
- C) เปลี่ยนพรอมต์แบบสุ่มและลองต่อไป
- D) การฝังเอกสารทั้งหมดลงในโมเดลพร้อมการปรับแต่งอย่างละเอียด
คำอธิบาย: โดยปกติแล้วลิงก์ที่อ่อนแอที่สุดของ RAG จะถูกดึงออกมา ไม่ใช่การใช้งานจริง หากไม่เคยนำชิ้นส่วนที่ถูกต้องมา โมเดลก็ไม่สามารถผลิตข้อมูลนั้นได้ไม่ว่าจะได้รับการปรับปรุงให้ดีขึ้นเพียงใด ดังนั้นอันดับแรก Recall@K จะถูกวัดเพื่อดูว่าชิ้นส่วนที่ถูกต้องมาถึงแล้วหรือไม่ หากการดึงข้อมูลออกมาดี จะมีการตรวจสอบการผลิตและความรวดเร็ว
8. การดำเนินการใดที่ไม่ควรได้รับอนุมัติจากมนุษย์เมื่อมอบเครื่องมือให้กับตัวแทน?
- ก) ไม่มี; ตัวแทนจะต้องสามารถดำเนินการทุกอย่างได้ด้วยตนเอง
- B) เฉพาะการกระทำที่สามารถย้อนกลับได้ เช่น การอ่านและการค้นหาข้อมูล
- C) การกระทำที่ไม่สามารถย้อนกลับได้หรือมีผลกระทบสูง เช่น การโอนเงิน การลบ การส่ง ✔
- D) การกระทำที่เกี่ยวข้องกับการคำนวณเท่านั้น
คำอธิบาย: การดำเนินการจะถูกแยกตามระดับความเสี่ยง งานที่เรียกคืนได้ เช่น การอ่าน การค้นหา การคำนวณ และการสร้างแบบร่าง สามารถทำได้โดยอัตโนมัติ อย่างไรก็ตาม การกระทำที่ไม่สามารถย้อนกลับได้หรือมีผลกระทบสูง เช่น การโอนเงิน การส่งอีเมล การลบข้อมูล การสั่งซื้อ ฯลฯ จะต้องได้รับการอนุมัติจากมนุษย์ การกระทำที่เพิกถอนไม่ได้ทั้งหมดจะต้องได้รับความยินยอม
9. วิธีการออกแบบที่ดีที่สุดเพื่อลดความเสี่ยงของการฉีดยาโดยอ้อมคืออะไร?
- A) แค่เพิ่มประโยคเดียว 'ละเว้นคำแนะนำที่ไม่ถูกต้อง' ลงในพรอมต์ของระบบก็เพียงพอแล้ว
- B) ให้สิทธิ์แก่โมเดลมากขึ้นโดยอาศัยคำแนะนำในเนื้อหาภายนอก
- C) ไม่ใช้ความระมัดระวังใด ๆ เนื่องจากไม่สามารถป้องกันการฉีดได้
- D) การแยกเนื้อหาภายนอกเป็นข้อมูลที่ไม่น่าเชื่อถือ และสร้างการป้องกันแบบหลายชั้นโดยมีการอนุญาต การอนุมัติ และการควบคุมเอาต์พุตน้อยที่สุด ✔
คำอธิบาย: เนื้อหาภายนอกที่ประมวลผลโดยตัวแทนหรือ RAG เช่น หน้าเว็บ เอกสาร อีเมล ฯลฯ เป็นข้อมูลที่ไม่น่าเชื่อถือและอาจมีคำแนะนำที่เป็นความลับ วิธีการที่ถูกต้องคือการป้องกันแบบหลายชั้น: แยกเนื้อหาภายนอกเป็น 'ข้อมูล ไม่ใช่คำสั่ง' ด้วยตัวคั่นที่ชัดเจน ใช้การอนุญาตขั้นต่ำ ผูกการกระทำที่ไม่สามารถย้อนกลับกับการอนุมัติของมนุษย์ และการตรวจสอบผลลัพธ์ คำแนะนำบรรทัดเดียวไม่เพียงพอ
10. อะไรคือความแตกต่างหลักในการตัดสินใจว่าควรแก้ไขปัญหาด้วยการปรับแต่งแบบละเอียดหรือ RAG?
- A) ปัญหาข้อมูลได้รับการแก้ไขได้ดีขึ้นด้วย RAG ปัญหาด้านพฤติกรรม/รูปแบบได้รับการแก้ไขได้ดีขึ้นด้วยการปรับแต่งแบบละเอียด ✔
- B) ทุกปัญหาควรได้รับการแก้ไขด้วยการปรับแต่งอย่างละเอียดเสมอ
- C) RAG ใช้สำหรับการสร้างโค้ดเท่านั้น ส่วนการปรับแต่งแบบละเอียดใช้สำหรับการแปลเท่านั้น
- D) การปรับแต่งแบบละเอียดสามารถอัปเดตได้ถูกกว่าและเร็วกว่า RAG เสมอ
คำอธิบาย: การปรับแต่งอย่างละเอียดยังอ่อนแอและมีความเสี่ยงในการสอนโมเดลข้อมูลใหม่ แต่มีพลังทั้งพฤติกรรมการสอน รูปแบบ น้ำเสียง และลีลาการสอน 'บริษัทต้นแบบไม่ทราบข้อมูลของเรา' เป็นปัญหาด้านข้อมูลและเป็นของ RAG 'ปล่อยให้โมเดลแสดงผลในรูปแบบที่เข้มงวดของเราเสมอ' เป็นปัญหาด้านพฤติกรรมและเป็นตัวเลือกสำหรับการปรับแต่งอย่างละเอียด นอกจากนี้ ควรใช้เวลาสักครู่และสองสามช็อตก่อนทำการปรับแต่งแบบละเอียด
11. ข้อใดเป็นสิ่งจำเป็นสำหรับการปรับใช้อย่างปลอดภัยเมื่อนำโมเดลใหม่เข้าสู่การผลิต
- A) หากโมเดลนั้นดีในการทดสอบ ให้เปิดโมเดลโดยตรงเพื่อรับทราฟฟิก 100%
- B) ไม่ได้ตั้งค่าการตรวจสอบเลยหลังจากการปรับใช้
- C) การปรับใช้แบบเป็นขั้นตอน (เงา/คานารี) และแผนการย้อนกลับที่ทดสอบไว้ล่วงหน้า ✔
- D) การเผยแพร่โมเดลแม้ว่าจะไม่เป็นไปตามเกณฑ์การประเมินก็ตาม
คำอธิบาย: การเปิดโมเดลใหม่โดยตรงไปยังการรับส่งข้อมูลทั้งหมดมีความเสี่ยง หากผิดพลาดทุกคนได้รับผลกระทบ สิ่งที่ถูกต้องคือเป็นการกระจายแบบค่อยเป็นค่อยไป (เงา, นกคานารี) และการกระจายทุกครั้งมีแผนย้อนกลับที่ผ่านการทดสอบแล้ว การแจกจ่ายจะไม่สมบูรณ์หากไม่มีแผนการเรียกคืน ความสามารถในการเปลี่ยนกลับเป็นเวอร์ชันก่อนหน้าได้ภายในไม่กี่นาทีจะช่วยปกป้องผู้ใช้เมื่อโมเดลทำงานโดยไม่คาดคิดในการผลิต
12. โมเดล ML จะล้มเหลว 'เงียบ' ในการผลิตได้อย่างไร และวิธีใดที่จะจับสิ่งนี้ได้
- A) โมเดลพังทลายลง บันทึกเซิร์ฟเวอร์แสดงสิ่งนี้
- B) โดยการคาดการณ์ที่ผิดโดยไม่ทำผิดพลาด; ✔ บันทึกการตรวจสอบการทำงาน อินพุต และเอาต์พุต
- C) โมเดลไม่เคยล้มเหลวอย่างเงียบ ๆ และแจ้งเตือนอยู่เสมอ
- D) เพียงแค่ตรวจสอบเวลาแฝงก็เพียงพอแล้วที่จะตรวจจับความเสื่อมโทรม
คำอธิบาย: โมเดลสามารถล้มเหลวได้ง่ายๆ โดยสร้างการคาดการณ์ที่ไม่ถูกต้องโดยไม่ขัดข้องหรือให้ข้อผิดพลาด สาเหตุหลักคือการเบี่ยงเบนของข้อมูลและการเคลื่อนตัวของแนวคิด เพียงการตรวจสอบตัวชี้วัดการปฏิบัติงาน (เวลาแฝง อัตราข้อผิดพลาด) นั้นไม่เพียงพอ ควรตรวจสอบการกระจายอินพุตและการกระจายเอาต์พุต/การทำนายด้วย การเบี่ยงเบนของอินพุตจะแจ้งเตือนล่วงหน้าหากผลลัพธ์จริงเกิดความล่าช้า
13. หลักการใดที่จำเป็นเมื่อใช้ LLM ในฐานะผู้ตัดสินเพื่อประเมินระบบ LLM
- A) ผู้ตัดสิน LLM ถูกต้องเสมอ ไม่จำเป็นต้องตรวจสอบโดยมนุษย์
- B) ผู้ตัดสินจะต้องตัดสินใจตามความยาวของคำตอบเท่านั้น
- C) การควบคุมตามกฎและการประเมินโดยมนุษย์ควรถูกยกเลิกโดยสิ้นเชิงเมื่อใช้ผู้ตัดสิน
- D) คะแนนของผู้ตัดสินควรได้รับการเทียบเคียงกับตัวอย่างที่ติดฉลากโดยมนุษย์และวัดอคติก่อนที่จะเชื่อถือได้ ✔
คำอธิบาย: ผู้ตัดสิน LLM ก็เป็นแบบอย่างเช่นกัน อาจมีอาการประสาทหลอน มีอคติ (ชอบคำตอบที่ยาวและมั่นใจ) และไม่สอดคล้องกัน ดังนั้น คะแนนผู้ตัดสินจะต้องได้รับการสอบเทียบด้วยตัวอย่างที่ติดฉลากโดยมนุษย์ และต้องวัดอคติอย่างเป็นระบบก่อนที่จะตัดสินใจผลิต ผู้ตัดสินที่ไม่ได้รับการยืนยันให้ความมั่นใจแบบผิดๆ
14. เหตุใดการดูความแม่นยำโดยรวมจึงไม่เพียงพอเมื่อประเมินอคติของโมเดล
- A) ความแม่นยำโดยรวมก็เพียงพอแล้ว เพราะมันสะท้อนถึงผลงานของกลุ่มที่แย่ที่สุดเสมอ
- B) ความแม่นยำโดยรวมเพียงอย่างเดียวไม่เพียงพอ เนื่องจากสามารถบดบังความแตกต่างอย่างเป็นระบบ (การเลือกปฏิบัติที่ซ่อนอยู่) ระหว่างกลุ่มย่อย ✔
- C) เพราะความแม่นยำเป็นตัวชี้วัดที่ไม่เกี่ยวข้องกับอคติ
- D) อคติมาจากโมเดลเท่านั้นและไม่เกี่ยวข้องกับข้อมูล
คำอธิบาย: ความแม่นยำโดยรวมอาจไม่ชัดเจนถึงความแตกต่างอย่างเป็นระบบระหว่างกลุ่มย่อย ตัวอย่างเช่น แม้ว่าความแม่นยำโดยรวมคือ 88% แต่การเรียกคืนอาจเป็น 91% ในกลุ่มหนึ่งและ 67% ในอีกกลุ่มหนึ่ง โมเดลพลาดกลุ่มนั้นอย่างเป็นระบบ ดังนั้น แบบจำลองควรได้รับการประเมินบนพื้นฐานของกลุ่มย่อย (ประชากร/ส่วนงาน) และควรตัดสินใจจัดลำดับความสำคัญของคำจำกัดความของความยุติธรรมร่วมกับผู้มีส่วนได้ส่วนเสีย
15. สี่สิ่งใดบ้างที่ต้องแก้ไขร่วมกันเพื่อให้ผลลัพธ์ ML สามารถทำซ้ำได้
- A) เฉพาะชื่อรุ่น ขนาด ราคา และวันที่วางจำหน่าย
- B) เฉพาะแบรนด์ GPU และความเร็วอินเทอร์เน็ต
- C) เฉพาะคะแนนความแม่นยำสุดท้ายของแบบจำลองเท่านั้น ส่วนที่เหลือสามารถเก็บไว้ในความทรงจำได้
- D) ข้อมูลสุ่ม เวอร์ชันข้อมูล สภาพแวดล้อม (เวอร์ชันอ้างอิง) และการติดตามการทดสอบ ✔
คำอธิบาย: ความสามารถในการทำซ้ำทำได้ผ่านเสาหลักสี่ประการ ได้แก่ การแก้ไขการสุ่มข้อมูล การกำหนดเวอร์ชันของข้อมูล (เวอร์ชัน/แฮช) การแช่แข็งสภาพแวดล้อม (เวอร์ชัน/คอนเทนเนอร์ของไลบรารีที่แน่นอน) และการติดตามการทดลองแต่ละครั้ง (การคอมมิตโค้ด ข้อมูล ไฮเปอร์พารามิเตอร์ เมตริก) หากไม่มีห่วงโซ่นี้จะไม่สามารถสร้างผลลัพธ์เดียวกันได้ ผลลัพธ์ที่ไม่สามารถทำซ้ำได้คือการกล่าวอ้างที่ไม่สามารถพิสูจน์ได้