มุมมองของ Anderson
การขโมยโมเดล Machine Learning ผ่าน API Output

การวิจัยใหม่จากแคนาดาเสนอวิธีการที่นักโจมตีสามารถขโมยผลลัพธ์ของโมเดล Machine Learning ที่มีราคาแพงได้ แม้ว่าจะมีการเข้าถึงระบบที่เป็นกรรมสิทธิ์เฉพาะผ่าน API ที่ถูกสุขลักษณะและดูเหมือนจะป้องกันการโจมตีได้ดี
ในขณะที่ภาควิจัยมองหาวิธีการสร้างรายได้จากการฝึกโมเดลที่มีราคาแพงผ่านการนำเสนอ Machine Learning เป็นบริการ (MLaaS) การวิจัยใหม่นี้ชี้ให้เห็นว่าโมเดล Self-Supervised Learning (SSL) มีความเสี่ยงต่อการขโมยโมเดลมากกว่า เนื่องจากพวกมันถูกฝึกโดยไม่มีฉลาก และโดยทั่วไปจะให้ผลลัพธ์ที่มีข้อมูลที่มีประโยชน์สำหรับผู้ที่ต้องการสร้างโมเดลที่ซ่อนอยู่
ใน ‘black box’ ทดสอบการจำลอง (ที่นักวิจัยให้การเข้าถึงแบบเดียวกันกับแบบจำลอง ‘เหยื่อ’ ที่มีการเข้าถึงแบบทั่วไปผ่าน API บนเว็บ) นักวิจัยสามารถสร้างแบบจำลองที่มีประสิทธิภาพใกล้เคียงกับแบบจำลองที่ถูกโจมตีได้ด้วยทรัพยากรที่ค่อนข้างต่ำ:
‘[การโจมตีของเรา] สามารถขโมยแบบจำลองที่มีประสิทธิภาพสูงในภายหลังการโจมตีโดยใช้จำนวนคำถามที่น้อยกว่า 1/5 ของจำนวนคำถามที่ใช้ในการฝึกแบบจำลองที่ถูกโจมตี Against แบบจำลองที่ถูกฝึกด้วยตัวอย่างที่ไม่มีฉลาก 1.2M จาก ImageNet โดยมีความแม่นยำ 91.9% ในการจำแนกประเภท Fashion-MNIST การโจมตีโดยตรงด้วยการขาดทุน InfoNCE สามารถขโมยแบบจำลองที่มีประสิทธิภาพ 90.5% ใน 200K คำถาม
‘ในทำนองเดียวกัน Against แบบจำลองที่ถูกฝึกด้วยตัวอย่างที่ไม่มีฉลาก 50K จาก CIFAR10 โดยมีความแม่นยำ 79.0% ในการจำแนกประเภท CIFAR10 การโจมตีโดยตรงด้วยการขาดทุน SoftNN สามารถขโมยแบบจำลองที่มีประสิทธิภาพ 76.9% ใน 9,000 คำถาม’

นักวิจัยใช้สามวิธีการโจมตี และพบว่าการโจมตีโดยตรง (Direct Extraction) เป็นวิธีที่มีประสิทธิภาพสูงสุด แบบจำลองเหล่านี้ถูกขโมยจากแบบจำลองที่ถูกสร้างขึ้นใหม่ของ CIFAR10 โดยใช้ 9,000 คำถามจากชุดข้อมูลทดสอบ CIFAR10
นักวิจัยยังชี้ให้เห็นว่าวิธีการที่เหมาะสมในการป้องกันแบบจำลองที่ถูกฝึกด้วยการเรียนรู้แบบมีคำแนะนำ (Supervised Learning) ไม่สามารถปรับให้เหมาะสมกับแบบจำลองที่ถูกฝึกด้วยการเรียนรู้แบบไม่มีคำแนะนำ (Unsupervised Learning) ได้ แม้ว่าแบบจำลองเหล่านี้จะเป็นผลลัพธ์ที่คาดหวังและได้รับการยกย่องในภาคการสร้างภาพ
การวิจัยใหม่นี้ตั้งชื่อว่า On the Difficulty of Defending Self-Supervised Learning against Model Extraction และมาจากมหาวิทยาลัยโตรอนโตและสถาบัน Vector สำหรับปัญญาประดิษฐ์
การรู้ตัวเอง
ใน Self-Supervised Learning แบบจำลองจะถูกฝึกด้วยข้อมูลที่ไม่มีฉลาก โดยไม่มีฉลาก แบบจำลอง SSL จะต้องเรียนรู้ความสัมพันธ์และกลุ่มจากโครงสร้างที่ซ่อนอยู่ของข้อมูล โดยการค้นหาด้านที่คล้ายคลึงกันของข้อมูลและจัดกลุ่มเข้าด้วยกัน
เมื่อใช้ SSL มันจะสามารถสร้างผลลัพธ์ที่ดีมาก โดยไม่ต้องใช้การแบ่งประเภทที่มีราคาแพง (โดยทั่วไปจะถูกส่งออกและเป็นข้อขัดแย้ง) และสามารถจัดระเบียบข้อมูลได้ด้วยตนเอง
นักวิจัยพิจารณา三个วิธีการ SSL: SimCLR ซึ่งเป็น Siamese Network ที่มีศูนย์กลางในการเรียนรู้การแสดงผล; SimSiam ซึ่งเป็น Siamese Network ที่มีศูนย์กลางในการเรียนรู้การแสดงผล; และ Barlow Twins ซึ่งเป็นวิธีการ SSL ที่สามารถให้ผลลัพธ์ที่ดีที่สุดในการจำแนกประเภท ImageNet ในปี 2021
การขโมยแบบจำลองสำหรับข้อมูลที่มีฉลาก (เช่น แบบจำลองที่ถูกฝึกด้วยการเรียนรู้แบบมีคำแนะนำ) เป็นเรื่องที่มีการบันทึกไว้แล้ว และยังสามารถป้องกันได้ง่ายกว่า เนื่องจากผู้โจมตีต้องได้รับฉลากจากแบบจำลองที่ถูกโจมตีเพื่อสร้างแบบจำลองใหม่

แบบจำลอง ‘knockoff classifier’ สำหรับการโจมตีแบบจำลองที่ถูกฝึกด้วยการเรียนรู้แบบมีคำแนะนำ
โดยไม่มีการเข้าถึงแบบ ‘white-box’ สิ่งนี้ไม่ใช่เรื่องที่ง่าย เนื่องจากผลลัพธ์ที่ปกติจากคำขอ API ต่อแบบจำลองดังกล่าวจะมีข้อมูลน้อยกว่าผลลัพธ์ที่ปกติจากแบบจำลอง SSL
จากเอกสาร*:
‘การวิจัยในอดีตเกี่ยวกับการขโมยแบบจำลองมุ่งเน้นไปที่การเรียนรู้แบบมีคำแนะนำ (SL) โดยที่แบบจำลองที่ถูกโจมตีจะให้ฉลากหรือผลลัพธ์อื่นๆ ที่มีมิติต่ำ เช่น คะแนนความมั่นใจ หรือ logits ‘
‘ในทางตรงกันข้าม แบบจำลอง SSL จะให้ผลลัพธ์ที่มีมิติสูง; ผลลัพธ์ de facto สำหรับแบบจำลอง ResNet-50 Sim-CLR ซึ่งเป็นสถาปัตยกรรมที่นิยมในการมองเห็น คือเวกเตอร์ที่มีมิติ 2048 ‘
‘เราสันนิษฐานว่าการรั่วไหลของข้อมูลที่สูงกว่านี้จากแบบจำลอง SSL ทำให้พวกมันเสี่ยงต่อการโจมตีมากกว่าแบบจำลอง SL’
สถาปัตยกรรมและข้อมูล
นักวิจัยทดสอบสามวิธีการในการโจมตีแบบจำลอง SSL: การโจมตีโดยตรง โดยที่ผลลัพธ์จาก API จะถูกเปรียบเทียบกับผลลัพธ์จากแบบจำลองที่ถูกสร้างขึ้นใหม่โดยใช้ฟังก์ชันขาดทุน เช่น Mean Squared Error (MSE); การสร้างหัวการฉายภาพใหม่ โดยที่ฟังก์ชันการวิเคราะห์ที่สำคัญของแบบจำลองซึ่งปกติจะถูกทิ้งไปก่อนการนำไปใช้จะถูกสร้างขึ้นใหม่และใช้ในแบบจำลองที่ถูกสร้างขึ้นใหม่; และ การเข้าถึงหัวการฉายภาพ ซึ่งเป็นไปได้เฉพาะในกรณีที่ผู้พัฒนาแบบจำลองเดิมได้เผยแพร่สถาปัตยกรรม

วิธีที่ 1: การโจมตีโดยตรง โดยที่ผลลัพธ์จากแบบจำลองที่ถูกโจมตีจะถูกเปรียบเทียบกับผลลัพธ์จากแบบจำลองที่ถูกสร้างขึ้นใหม่; วิธีที่ 2: การสร้างหัวการฉายภาพใหม่ โดยที่ฟังก์ชันการวิเคราะห์ที่สำคัญของแบบจำลองที่ถูกสร้างขึ้นใหม่จะถูกสร้างขึ้นใหม่และใช้ในแบบจำลองที่ถูกสร้างขึ้นใหม่
นักวิจัยพบว่าการโจมตีโดยตรงเป็นวิธีที่มีประสิทธิภาพสูงสุดในการขโมยแบบจำลอง และยังมีความยากในการระบุว่าเป็นการโจมตี (เนื่องจากมันทำงานไม่แตกต่างจากผู้ใช้ทั่วไป)
นักวิจัยฝึกแบบจำลองที่ถูกโจมตีบนชุดข้อมูลภาพสามชุด: CIFAR10 ImageNet และ Stanford’s Street View House Numbers (SVHN) แบบจำลอง ImageNet ถูกฝึกด้วย ResNet50 ในขณะที่ CIFAR10 และ SVHN ถูกฝึกด้วย ResNet18 และ ResNet24 โดยใช้การนำไปใช้ PyTorch ของ SimCLR ที่มีอยู่แล้ว
ผลลัพธ์ของแบบจำลองที่ถูกโจมตีถูกทดสอบกับชุดข้อมูล CIFAR100 STL10 SVHN และ Fashion-MNIST นักวิจัยยังทดสอบวิธีการขโมยแบบจำลองที่มีสิทธิ์มากกว่า แต่พบว่าการโจมตีโดยตรงซึ่งเป็นวิธีที่มีสิทธิ์น้อยที่สุดให้ผลลัพธ์ที่ดีที่สุด
ในการประเมินผลการแสดงผลที่ถูกสร้างขึ้นใหม่ในระหว่างการโจมตี นักวิจัยเพิ่มชั้นการคาดการณ์เชิงเส้นเข้าไปในแบบจำลองและปรับให้เหมาะสมกับชุดข้อมูลการฝึกที่มีฉลากเต็มรูปแบบจากงานที่ตามมา (downstream) โดยที่ชั้นอื่นๆ ของเครือข่ายถูกปิดการปรับให้เหมาะสม ใน这种วิธี ความแม่นยำในการคาดการณ์ของชั้นการคาดการณ์สามารถใช้เป็นมาตรการในการประเมินผลการทำงาน

ผลลัพธ์ของการวิ่งทดสอบ โดยใช้ชั้นการประเมินเชิงเส้น
เมื่อแสดงความคิดเห็นเกี่ยวกับผลลัพธ์ นักวิจัยระบุว่า:
‘เราพบว่าการโจมตีโดยตรงให้ผลลัพธ์ที่ดีในการทำงานในภายหลัง โดยใช้จำนวนคำถามที่น้อยกว่า 15% ของจำนวนคำถามที่ใช้ในการฝึกแบบจำลองที่ถูกโจมตี’
และต่อด้วย:
‘[การโจมตีโดยตรง] มีความยากในการป้องกันแบบจำลองที่ถูกฝึกด้วย SSL เนื่องจากผลการแสดงผลที่รั่วไหลออกมาจะมีข้อมูลที่มีประโยชน์มาก การป้องกันที่มีแนวโน้มมากที่สุดคือวิธีการที่ตอบสนอง เช่น การทำเครื่องหมายน้ำ ซึ่งสามารถฝังตัวในแบบจำลองที่มีความจุสูงได้’
* การแปลงอ้างอิงภายในเอกสารเป็นลิงก์โดยผู้เขียน
เผยแพร่ครั้งแรกเมื่อวันที่ 18 พฤษภาคม 2022












