หน่วย
1. ปัญญาประดิษฐ์ในวิศวกรรม ML: บทบาท ขอบเขต การตรวจสอบ และความรับผิดชอบ 2. ไปป์ไลน์ข้อมูล: การรวบรวม การทำความสะอาด การแท็ก และการกำหนดเวอร์ชัน 3. การฝึกอบรมและการประเมินโมเดล: การวัดที่แม่นยำ การเปรียบเทียบที่ซื่อสัตย์ 4. แอปพลิเคชัน LLM: คำตอบจากข้อมูลของคุณเองด้วย RAG 5. แอปพลิเคชัน LLM: ตัวแทน การใช้เครื่องมือ และระบบอัตโนมัติที่ปลอดภัย 6. พื้นฐานการปรับแต่งอย่างละเอียด: เมื่อใด อย่างไร และมีความเสี่ยงอะไรบ้าง 7. MLOps และการปรับใช้: การย้ายแบบจำลองจากห้องปฏิบัติการไปสู่การใช้งานจริง 8. การประเมินและการติดตาม: การรู้ว่าโมเดลทำอะไรจริงๆ ในการผลิต 9. ความปลอดภัยและความเป็นส่วนตัว: การปกป้องระบบ AI 10. อคติ จริยธรรม และต้นทุน: วิศวกรรม AI ที่มีความรับผิดชอบและยั่งยืน 11. ความสามารถในการทำซ้ำและโครงการแบบครบวงจร: การรวมทุกสิ่งเข้าด้วยกัน
หน่วย 11 / 11

ความสามารถในการทำซ้ำและโครงการแบบครบวงจร: การรวมทุกสิ่งเข้าด้วยกัน

กำไร:

  • ความสามารถในการรับรองความสามารถในการทำซ้ำด้วยสี่เสาหลัก (การตรึงเมล็ดพันธุ์ การกำหนดเวอร์ชันข้อมูล การแช่แข็งสื่อ การตรวจสอบการทดลอง) และให้ผลลัพธ์เดียวกันเมื่อทำซ้ำการดำเนินการเดิม
  • ความสามารถในการรวมจุดหยุดทั้งหมดของโมดูล (ตัวชี้วัด ข้อมูล โมเดล ส่วนประกอบ 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 จริงจะต้องผ่านการหยุดเหล่านี้ และแต่ละจุดจะสร้างขึ้นจากจุดหยุดก่อนหน้า:

  1. คำจำกัดความของปัญหา: เรากำลังแก้ไขอะไร จะวัดความสำเร็จได้อย่างไร (หน่วยที่ 3: ตัวชี้วัดที่ถูกต้อง บริบททางธุรกิจ) เมตริกและเกณฑ์มีความชัดเจนตั้งแต่เริ่มต้น
  2. ไปป์ไลน์ข้อมูล: การรวบรวม การตรวจสอบความถูกต้อง การล้าง การแบ่งพาร์ติชันที่ปราศจากการรั่วไหล การกำหนดเวอร์ชัน (หน่วยที่ 2)
  3. การพัฒนาแบบจำลอง: การฝึกอบรม การเปรียบเทียบพื้นฐาน การตรวจสอบข้าม เมล็ดแข็ง (หน่วยที่ 3 + หน่วยนี้)
  4. ส่วนประกอบ LLM (ถ้ามี): RAG (หน่วยที่ 4) และ/หรือตัวแทน (หน่วยที่ 5); ปรับแต่งอย่างละเอียดหากจำเป็น (หน่วย 6)
  5. การประเมิน: คลัสเตอร์ประเมินที่มี Edge และกรณีการรักษาความปลอดภัย การประเมินแบบหลายชั้นในระบบ LLM (หน่วยที่ 8)
  6. การตรวจสอบความยุติธรรมและจริยธรรม: การวิเคราะห์กลุ่มย่อย บัตรตัวอย่าง ความสามารถในการอธิบาย (หน่วยที่ 10)
  7. การตรวจสอบความปลอดภัย: การแทรกแซงทันที ความเป็นส่วนตัว ห่วงโซ่อุปทาน (หน่วยที่ 9)
  8. การกระจาย: การบรรจุภัณฑ์ การกระจายแบบค่อยเป็นค่อยไป การย้อนกลับ การลงทะเบียนแบบจำลอง (หน่วยที่ 7)
  9. การตรวจสอบ: การตรวจสอบสามชั้น สัญญาณเตือนการดริฟท์ (หน่วย 8)
  10. ความสามารถในการทำซ้ำ: การติดตามเมล็ดพันธุ์ เวอร์ชันข้อมูล สื่อ และการทดลองตลอดห่วงโซ่ทั้งหมด (หน่วยนี้)

ในโฟลว์นี้ 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) ข้อมูลสุ่ม เวอร์ชันข้อมูล สภาพแวดล้อม (เวอร์ชันอ้างอิง) และการติดตามการทดสอบ ✔

คำอธิบาย: ความสามารถในการทำซ้ำทำได้ผ่านเสาหลักสี่ประการ ได้แก่ การแก้ไขการสุ่มข้อมูล การกำหนดเวอร์ชันของข้อมูล (เวอร์ชัน/แฮช) การแช่แข็งสภาพแวดล้อม (เวอร์ชัน/คอนเทนเนอร์ของไลบรารีที่แน่นอน) และการติดตามการทดลองแต่ละครั้ง (การคอมมิตโค้ด ข้อมูล ไฮเปอร์พารามิเตอร์ เมตริก) หากไม่มีห่วงโซ่นี้จะไม่สามารถสร้างผลลัพธ์เดียวกันได้ ผลลัพธ์ที่ไม่สามารถทำซ้ำได้คือการกล่าวอ้างที่ไม่สามารถพิสูจน์ได้