รายการตรวจสอบความสมบูรณ์ของ ML

สารบัญ:

รายการตรวจสอบความสมบูรณ์ของ ML
รายการตรวจสอบความสมบูรณ์ของ ML

วีดีโอ: รายการตรวจสอบความสมบูรณ์ของ ML

วีดีโอ: รายการตรวจสอบความสมบูรณ์ของ ML
วีดีโอ: Assessing ML/TF risk: What is ML/TF risk assessment? 2024, อาจ
Anonim

ด้วยจุดประสงค์เพื่อเพิ่มความสามารถในการทำซ้ำและส่งเสริมให้ผู้อื่นสร้างผลงานที่เผยแพร่ได้ง่ายขึ้น เราจึงนำเสนอรายการตรวจสอบความสมบูรณ์ของโค้ด ML รายการตรวจสอบความสมบูรณ์ของโค้ด ML จะประเมินที่เก็บโค้ดตามสคริปต์และอาร์ติแฟกต์ที่มีให้

รายการตรวจสอบความสมบูรณ์ของรหัส ML
รายการตรวจสอบความสมบูรณ์ของรหัส ML

บทนำ

ปีที่แล้ว Joel Pino ได้เผยแพร่รายการตรวจสอบความสามารถในการทำซ้ำเพื่ออำนวยความสะดวกในการวิจัยที่ทำซ้ำได้ซึ่งนำเสนอในการประชุม OA ที่สำคัญ (NeurIPS, ICML,…) รายการส่วนใหญ่ในรายการตรวจสอบจะเน้นที่ส่วนประกอบของกระดาษ รายการหนึ่งในรายการตรวจสอบนี้คือ "ให้ลิงก์ไปยังซอร์สโค้ด" แต่นอกเหนือจากนั้น มีการแนะนำเล็กน้อย

แนวทางปฏิบัติที่ดีที่สุดได้รับการสรุปไว้ในรายการตรวจสอบความสมบูรณ์ของรหัส ML ซึ่งขณะนี้เป็นส่วนหนึ่งของกระบวนการส่งรหัส NeurIPS 2020 อย่างเป็นทางการ และจะพร้อมให้ผู้ตรวจสอบใช้ตามที่เห็นสมควร

รายการตรวจสอบความสมบูรณ์ของ ML

รายการตรวจสอบความสมบูรณ์ของรหัส M จะตรวจสอบที่เก็บรหัสสำหรับ:

  1. การพึ่งพา - ที่เก็บข้อมูลมีข้อมูลการพึ่งพาหรือคำแนะนำเกี่ยวกับวิธีตั้งค่าสภาพแวดล้อมหรือไม่
  2. สถานการณ์การฝึกอบรม - ที่เก็บมีวิธีการฝึกอบรม / ปรับโมเดลที่อธิบายไว้ในเอกสารหรือไม่?
  3. สถานการณ์การประเมิน - ที่เก็บมีสคริปต์สำหรับการคำนวณประสิทธิภาพของแบบจำลองที่ผ่านการฝึกอบรมหรือดำเนินการทดลองกับแบบจำลองหรือไม่
  4. โมเดลที่ผ่านการฝึกอบรม - ที่เก็บข้อมูลให้การเข้าถึงน้ำหนักของแบบจำลองที่ฝึกอบรมล่วงหน้าฟรีหรือไม่
  5. ผลลัพธ์ - ที่เก็บมีตาราง / กราฟของผลลัพธ์หลักและสคริปต์เพื่อสร้างผลลัพธ์เหล่านั้นหรือไม่

แต่ละที่เก็บสามารถรับขีดได้ตั้งแต่ 0 (ไม่มี) ถึง 5 (มีทั้งหมด) ข้อมูลเพิ่มเติมเกี่ยวกับเกณฑ์สำหรับแต่ละรายการสามารถพบได้ในที่เก็บ Github

อะไรคือหลักฐานที่แสดงว่ารายการตรวจสอบมีส่วนสนับสนุนที่เก็บข้อมูลที่มีประโยชน์มากกว่า?

ชุมชนโดยทั่วไปใช้ดาว GitHub เป็นพร็อกซีเพื่อประโยชน์ของที่เก็บ ดังนั้น repos ที่มีคะแนนสูงกว่าในรายการตรวจสอบความสมบูรณ์ของ ML คาดว่าจะมีดาว GitHub เพิ่มขึ้นด้วย เพื่อทดสอบสมมติฐานนี้มี 884 GitHub repos ที่ส่งเป็นการใช้งานอย่างเป็นทางการในเอกสาร NeurIPS 2019 ชุดย่อย 25% ของที่เก็บ 884 เหล่านี้ถูกสุ่มเลือกและตรวจสอบด้วยตนเองในรายการตรวจสอบความสมบูรณ์ของ ML พวกเขาจัดกลุ่มตัวอย่าง NeurIPS 2019 GitHub repos ตามจำนวนเห็บที่พวกเขามีในรายการตรวจสอบความสมบูรณ์ของโค้ด ML และจับคู่ดาวมัธยฐาน GitHub ในแต่ละกลุ่ม ผลลัพธ์อยู่ด้านล่าง:

ภาพ
ภาพ

NeurIPS 2019 repos ที่มี 0 ช่องทำเครื่องหมายมีค่ามัธยฐาน 1.5 ดาวบน GitHub ในทางตรงกันข้าม repos ที่มี 5 ช่องทำเครื่องหมายมีค่ามัธยฐานของดาว GitHub 196.5 มีเพียง 9% ของ repos ที่มี 5 เห็บ และ repos ส่วนใหญ่ (70%) มี 3 เห็บหรือน้อยกว่า การทดสอบผลรวมอันดับของ Wilcoxon ได้ดำเนินการและพบว่าจำนวนดาวในชั้น 5 ขีดมีนัยสำคัญ (p.value <1e-4) สูงกว่าในชั้นเรียนอื่นๆ ทั้งหมด ยกเว้น 5 กับ 4 (โดยที่ p.value เป็นขอบเขต) ที่ 0.015) คุณสามารถดูข้อมูลและรหัสสำหรับตัวเลขนี้ในที่เก็บ Github

เพื่อทดสอบว่าความสัมพันธ์นี้ขยายออกไปในวงกว้างมากขึ้นหรือไม่ สคริปต์ถูกสร้างขึ้นเพื่อคำนวณรายการตรวจสอบโดยอัตโนมัติจากที่เก็บ README และรหัสที่เกี่ยวข้อง จากนั้นเราวิเคราะห์ใหม่ทั้งชุดของที่เก็บ NeurIPS 2019 จำนวน 884 ชุด รวมทั้งชุดที่เก็บโค้ด 8926 ชุดที่กว้างขึ้นสำหรับบทความ ML ทั้งหมดที่เผยแพร่ในปี 2019 ในทั้งสองกรณี ผู้เชี่ยวชาญได้ผลลัพธ์ที่เหมือนกันในเชิงคุณภาพโดยมีดาวมัธยฐานเพิ่มขึ้นอย่างซ้ำซากจำเจจากเห็บด้วยวิธีที่มีนัยสำคัญทางสถิติ (p.value <1e-4) สุดท้ายนี้ โดยใช้การถดถอยเชิงเส้นที่แข็งแกร่ง เราพบแบบจำลองและผลลัพธ์ที่ได้รับการฝึกอบรมล่วงหน้าเพื่อมีผลกระทบเชิงบวกมากที่สุดต่อดาว GitHub

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

ปัจจุบัน ผู้เชี่ยวชาญไม่ได้อ้างว่ารายการตรวจสอบ 5 รายการที่นำเสนอเป็นเพียงปัจจัยเดียวหรือแม้แต่ปัจจัยที่สำคัญที่สุดในความนิยมของพื้นที่เก็บข้อมูล ปัจจัยอื่นๆ อาจส่งผลต่อความนิยม เช่น ขนาดผลงานทางวิทยาศาสตร์ การตลาด (เช่น โพสต์ในบล็อกและโพสต์ใน Twitter) เอกสารประกอบ (README ที่ครอบคลุม บทช่วยสอน และเอกสารประกอบ API) คุณภาพของโค้ด และงานก่อนหน้า

ตัวอย่างบางส่วนของที่เก็บ NeurIPS 2019 พร้อมช่องทำเครื่องหมาย 5 ช่อง:

ผู้เชี่ยวชาญตระหนักดีว่าแม้ว่าพวกเขาจะพยายามทำให้รายการตรวจสอบเป็นแบบทั่วไปที่สุดเท่าที่จะเป็นไปได้ แต่ก็อาจใช้ไม่ได้กับเอกสารทุกประเภทอย่างสมบูรณ์ เช่น เอกสารทางทฤษฎีหรือชุด อย่างไรก็ตาม แม้ว่าวัตถุประสงค์หลักของบทความคือการแสดงชุดข้อมูล แต่ก็ยังสามารถได้รับประโยชน์จากการเปิดตัวแบบจำลองพื้นฐาน ซึ่งรวมถึงสถานการณ์การฝึกอบรม สถานการณ์การประเมิน และผลลัพธ์

เริ่มใช้

เพื่อให้ผู้ตรวจสอบและผู้ใช้เข้าใจได้ง่ายขึ้นว่ามีอะไรอยู่ในที่เก็บและสำหรับผู้เชี่ยวชาญในการประเมินอย่างถูกต้อง จึงมีการรวบรวมแนวปฏิบัติที่ดีที่สุดสำหรับการเขียนไฟล์ README.md การกำหนดการพึ่งพา และการเปิดตัวแบบจำลอง ชุดข้อมูล และผลลัพธ์ที่ได้รับการฝึกอบรมล่วงหน้า ขอแนะนำให้คุณกำหนดองค์ประกอบ 5 เหล่านี้อย่างชัดเจนในที่เก็บของคุณ และเชื่อมโยงองค์ประกอบเหล่านี้กับทรัพยากรภายนอก เช่น เอกสารและลีดเดอร์บอร์ด เพื่อให้บริบทและความชัดเจนมากขึ้นสำหรับผู้ใช้ของคุณ นี่คือแนวทางอย่างเป็นทางการในการส่งรหัสไปยัง NeurIPS 2020