- OpenPCC เป็น เฟรมเวิร์กสำหรับ AI inference ที่คุ้มครองความเป็นส่วนตัวและตรวจสอบได้ ซึ่งได้รับแรงบันดาลใจจาก Private Cloud Compute ของ Apple และเปิดให้ใช้งานในรูปแบบโอเพนซอร์สเต็มรูปแบบ
- รับประกันการปกป้องข้อมูลส่วนบุคคลผ่าน encrypted streaming, hardware attestation และ unlinkable requests โดยไม่เปิดเผยพรอมป์ต์ เอาต์พุต หรือบันทึกล็อก
- ทุกคนสามารถรัน โมเดล AI แบบเปิดหรือแบบกำหนดเอง บนโครงสร้างพื้นฐานของตนเองได้ โดยออกแบบมาให้โปร่งใสและตรวจสอบย้อนหลังได้
- Confident Security กำลังพัฒนาบริการแบบ managed service ชื่อ CONFSEC ที่อิงตามมาตรฐาน OpenPCC
- มีเป้าหมายเพื่อพัฒนาให้เป็น มาตรฐานที่ขับเคลื่อนโดยชุมชน สำหรับความเป็นส่วนตัวของข้อมูล AI
ภาพรวม OpenPCC
- OpenPCC คือเฟรมเวิร์กโอเพนซอร์สที่ทำให้ AI inference ที่มีการรับประกันความเป็นส่วนตัว เป็นไปได้
- อิงตามแนวคิด Private Cloud Compute ของ Apple แต่ถูกอิมพลีเมนต์ในรูปแบบที่ เปิดเผย ตรวจสอบได้ และนำไป deploy เองได้ทั้งหมด
- ผู้ใช้สามารถรันโมเดล AI ได้โดยที่พรอมป์ต์ เอาต์พุต และล็อกไม่ถูกเปิดเผยต่อภายนอก
- เสริมการปกป้องข้อมูลด้วย encrypted streaming, hardware attestation และ unlinkable requests
- เป้าหมายคือการสร้าง มาตรฐานด้านความเป็นส่วนตัวของข้อมูล AI ที่โปร่งใสและดูแลโดยชุมชน
Managed Service: CONFSEC
- Confident Security กำลังพัฒนา CONFSEC ซึ่งเป็นบริการแบบ fully managed บนพื้นฐานของมาตรฐาน OpenPCC
- ข้อมูลที่เกี่ยวข้องและการสมัครใช้งานมีให้บนเว็บไซต์ confident.security
- CONFSEC ช่วยให้สามารถนำเทคโนโลยีของ OpenPCC ไปใช้ในสภาพแวดล้อมเชิงพาณิชย์ได้ง่ายขึ้น
องค์ประกอบของ OpenPCC Client
- ภายใน repository มีทั้ง โค้ดไคลเอนต์ Go และ ไลบรารี C ซึ่งใช้เป็นพื้นฐานสำหรับไคลเอนต์ Python และ JavaScript
- ยังมี in-memory services สำหรับทดสอบไคลเอนต์ให้มาพร้อมกันด้วย
- สำหรับ อิมพลีเมนเทชันของ Compute Node สามารถดูได้จากอีก repository หนึ่งคือ confidentsecurity/confidentcompute
ตัวอย่างการใช้งาน Go
- มีตัวอย่างการพัฒนาแบบโลคัลอยู่ในไฟล์
cmd/test-client/main.go
- เมื่อต้องเชื่อมต่อกับบริการโปรดักชัน สามารถสร้างไคลเอนต์ผ่าน
openpcc.NewFromConfig และส่งคำขอ API ได้
- ในตัวอย่างใช้โมเดล
"qwen3:1.7b" และพรอมป์ต์ "why is the sky blue?"
- ใช้ request header
"X-Confsec-Node-Tags" เพื่อ route ไปยัง compute node ที่กำลังรันโมเดลที่ต้องการ
- ตัวอย่างโค้ดใช้ generate format ของ OpenAI API
การพัฒนาและการทดสอบ
- คำสั่งสำหรับพัฒนาใช้เครื่องมือ build บน Go ชื่อ mage
- สามารถรันได้ด้วย
go tool mage [cmd] หรือ go install github.com/magefile/mage@latest
- คำสั่ง
mage จะแสดงรายการคอมมานด์ที่ใช้งานได้ ซึ่งถูกกำหนดไว้ในไดเรกทอรี /magefiles/*
- หากต้องการทดสอบไลบรารีระหว่างพัฒนา ให้รัน
mage runMemServices เพื่อเปิดใช้งาน in-memory OpenPCC services และใช้ mage runClient เพื่อส่งคำขอทดสอบ
เอกสารอ้างอิง
- รายละเอียดเชิงเทคนิคของ OpenPCC สามารถดูได้จาก whitepaper
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
จากเนื้อหาใน whitepaper ดูเหมือนว่า inference provider ยังคงเข้าถึงพรอมป์ต์และคำตอบในรูปแบบข้อความปกติได้
แต่แนวทางนี้ทำให้บุคคลที่สามอย่าง API router ไม่สามารถเห็นข้อความปกติได้ และยังซ่อนตัวตนของไคลเอนต์ไม่ให้เชื่อมโยงกับคำขอด้วย
ถ้ามีการสรุป ขอบเขตการรับประกันความเป็นส่วนตัว แบบนี้ไว้ใน README อย่างชัดเจนก็น่าจะดี
เมื่อพิจารณาจุดนี้แล้ว ก็สงสัยว่าโครงสร้างนี้มีข้อได้เปรียบอะไรเหนือกว่าการที่ผู้ใช้แค่
กันแน่
อยากรู้ว่า inference provider ที่พูดถึงตรงนี้หมายถึงอะไรอย่างชัดเจน
ในความเป็นจริง หลังจากถอดรหัสแล้ว เวิร์กโหลดก็ไม่ได้ถูกส่งออกไปภายนอก (เช่น OpenAI) แต่ถูกรันโดยตรงบนเครื่องคอมพิวต์ที่โหลด โมเดลโอเพนซอร์ส ไว้
เครื่องเหล่านี้จะ พิสูจน์เชิงคริปโตกราฟี (attestation) ซอฟต์แวร์ที่กำลังรันอยู่ และรับประกันได้ว่าข้อมูลอ่อนไหวจะไม่รั่วไหลออกไปภายนอก
PCC ของ Apple ก็ทำงานด้วยหลักการเดียวกัน และไคลเอนต์จะไม่ส่งคำขอไปยังโหนดที่ไม่ให้การรับประกันแบบนี้
กล่าวคือ การรับประกันความเป็นส่วนตัวหลักคือแม้แต่ผู้ดูแลฮาร์ดแวร์เองก็ไม่สามารถเห็นพรอมป์ต์ได้
แม้ BYOK จะช่วยแก้ได้เป็นส่วนใหญ่ แต่ทันทีที่ส่งคีย์ไปก็ยังมีความเสี่ยงอยู่
ระบบอย่าง Private Cloud Compute ของ Apple หรือ Nitro Enclaves ของ AWS พยายามแก้ปัญหาขั้นสุดท้ายนี้
ผลการตรวจสอบของ NCC Group ต่อ AWS ยืนยันว่าไม่มี management API ที่ทำให้พนักงานล็อกอินเข้าโฮสต์หรือเข้าถึงข้อมูลลูกค้าได้
โครงสร้างแบบนี้ถือว่าแปลกมากในแง่ความโปร่งใสและความปลอดภัย
บล็อก PCC security research ของ Apple ก็น่าอ่านเช่นกัน
เพราะกฎต่อต้านการฟอกเงินอนุญาตเฉพาะการชำระเงินที่ตรวจสอบเส้นทางได้
แต่ก็ยังไม่ชัดเจนว่าถูกห้ามถึงระดับไหน
บทความที่เกี่ยวข้อง: EU to ban trading of privacy coins from 2027
ฉันก็เคยอยู่ในทีมที่ทำงานคล้ายกัน
แม้จะเป็นบริการแบบเสียเงิน แต่ก็มีทั้ง การเปิดซอร์ส และ attestation ที่มีความหมายจริง
บริการ: privatemode.ai
โค้ด: github.com/edgelesssys/privatemode-public
ในขณะที่ edgeless ใช้ BSL
จุดขายหลักคือทำให้ inference provider มองไม่เห็นพรอมป์ต์
และ Privatemode ก็ทำสิ่งนี้ผ่านเชนจาก source code → reproducible build → TEE attestation report
พร้อมเสริมความปลอดภัยด้วยเทคโนโลยีแยกส่วนอย่าง Kata/CoCo และนโยบายรันไทม์
บอกว่า “provably private” แต่ถ้ามี การเข้าถึงทางกายภาพ และอุปกรณ์เพียงเล็กน้อย ก็อาจวิเคราะห์ memory bus ได้
การถกเถียงที่เกี่ยวข้อง: HN thread
แล้วจะไปติดเครื่องมือวิเคราะห์กับเครื่องไหนในบรรดาหลายหมื่นเครื่อง?
งานเจ๋งมาก และน่าประทับใจที่ปล่อยเป็นโอเพนซอร์ส
พวกเรากำลังศึกษาปัญหาที่คล้ายกับ homomorphic encryption อยู่ และสงสัยว่า OpenPCC จะช่วยได้หรือไม่
ตัวอย่างเช่น ถ้าอุปกรณ์สวมใส่ได้ (เช่น แว่น AR) บันทึกข้อมูลภาพเป็นล็อก ก็จะเกิดปัญหาความเป็นส่วนตัว
OpenPCC จะใช้เพื่อ ทำข้อมูลไม่สามารถระบุตัวตนได้ สำหรับการดีบักของนักพัฒนาได้ไหม?
โดยพื้นฐานแล้ว OpenPCC คือเซิร์ฟเวอร์ HTTP ที่มี attestation และไม่สามารถมองเห็นภายในได้
ถ้าอุปกรณ์สวมใส่ส่งข้อมูลเข้า OpenPCC ก็สามารถรันกระบวนการทำให้ไม่ระบุตัวตนภายในนั้นได้
แน่นอนว่า การทำให้ไม่ระบุตัวตนบนตัวอุปกรณ์เองจะเรียบง่ายกว่า
และขอเสริมว่า homomorphic encryption ยังไม่อยู่ในขั้นที่ใช้งานจริงได้
เป็นการปล่อยออกมาที่เจ๋งมาก
หวังว่าจะมีบริษัทต่าง ๆ นำไปใช้เพื่อเสริม ความเป็นส่วนตัวของผู้ใช้ ให้มากขึ้น
ดีใจที่เห็นภาษา Go โผล่มา
ฉันคิดว่า Go จะก้าวข้าม Python ในสาย AI
คล้ายกับ Confidential AI Inference ของ Azure
ลิงก์อ้างอิง: Azure AI Confidential Inferencing Deep Dive
นี่เป็นส่วนสำคัญมากในแง่ความโปร่งใส เลยสงสัยว่ามีใครเคยเห็นบ้างไหม
ในทางทฤษฎีมันดูเจ๋ง แต่ยังไม่ค่อยเข้าใจว่าในทางปฏิบัติจะ เอาไปรันอะไรได้บ้าง
นอกจากสแปมเมอร์แล้ว จะมี use case อะไรบ้าง?
ที่นึกออกคือระบบฝึกแบบกระจายอย่าง federated learning หรือ FlowerLLM แต่ก็ไม่ใช่กรณีใช้งานด้าน inference
แม้จะยินดีที่เห็นความพยายามหลุดพ้นจากซอฟต์แวร์ปิด แต่ก็ยังอยากเห็นตัวอย่างการใช้งานจริง
เช่น เอา OpenAI Whisper มารันบน /e/OS เป็นบริการ STT ผ่าน พร็อกซีแบบไม่ระบุตัวตน ก็น่าจะทำได้
แต่ระดับนั้นรันในเครื่องโลคัลก็พออยู่แล้ว เลยยังหาจุดใช้งานที่ชัดเจนไม่เจอ
อยากรู้ว่า source code ของ compute node อยู่ที่ไหน