โพสต์นี้เขียนร่วมกับ Justin Miles, Liv d'Aliberti และ Joe Kovba จาก Leidos
Leidos เป็นผู้นำโซลูชันวิทยาศาสตร์และเทคโนโลยีใน Fortune 500 ซึ่งทำงานเพื่อจัดการกับความท้าทายที่ยากที่สุดของโลกในด้านการป้องกันประเทศ ข่าวกรอง ความมั่นคงแห่งมาตุภูมิ พลเรือน และการดูแลสุขภาพ ในโพสต์นี้ เราจะพูดถึงวิธีที่ Leidos ทำงานร่วมกับ AWS เพื่อพัฒนาแนวทางในการอนุมานของโมเดลภาษาขนาดใหญ่ (LLM) ที่รักษาความเป็นส่วนตัวโดยใช้ เครือข่าย AWS Nitro.
LLM ได้รับการออกแบบมาเพื่อทำความเข้าใจและสร้างภาษาที่เหมือนมนุษย์ และนำไปใช้ในอุตสาหกรรมต่างๆ รวมถึงภาครัฐ การดูแลสุขภาพ การเงิน และทรัพย์สินทางปัญญา LLM มีการนำไปใช้งานในวงกว้าง รวมถึงแชทบอท การสร้างเนื้อหา การแปลภาษา การวิเคราะห์ความรู้สึก ระบบตอบคำถาม โปรแกรมค้นหา และการสร้างโค้ด การแนะนำการอนุมานแบบ LLM เข้าสู่ระบบยังมีศักยภาพที่จะทำให้เกิดภัยคุกคามความเป็นส่วนตัว รวมถึงการกรองโมเดล การละเมิดความเป็นส่วนตัวของข้อมูล และการจัดการบริการบน LLM โดยไม่ได้ตั้งใจ สถาปัตยกรรมทางเทคนิคจำเป็นต้องถูกนำมาใช้เพื่อให้แน่ใจว่า LLM จะไม่เปิดเผยข้อมูลที่ละเอียดอ่อนในระหว่างการอนุมาน
โพสต์นี้อธิบายว่า Nitro Enclaves สามารถช่วยปกป้องการปรับใช้โมเดล LLM ได้อย่างไร โดยเฉพาะโมเดลที่ใช้ข้อมูลส่วนบุคคล (PII) หรือข้อมูลด้านสุขภาพที่ได้รับการคุ้มครอง (PHI) โพสต์นี้มีวัตถุประสงค์เพื่อการศึกษาเท่านั้น และไม่ควรใช้ในสภาพแวดล้อมการใช้งานจริงโดยไม่มีการควบคุมเพิ่มเติม
ภาพรวมของ LLM และ Nitro Enclaves
กรณีการใช้งานที่เป็นไปได้คือแชทบอตการสืบค้นที่ละเอียดอ่อนที่ใช้ LLM ซึ่งออกแบบมาเพื่อดำเนินการบริการคำถามและคำตอบที่มี PII และ PHI โซลูชันแชทบอท LLM ในปัจจุบันส่วนใหญ่แจ้งผู้ใช้อย่างชัดเจนว่าไม่ควรรวม PII หรือ PHI เมื่อป้อนคำถามเนื่องจากข้อกังวลด้านความปลอดภัย เพื่อบรรเทาข้อกังวลเหล่านี้และปกป้องข้อมูลลูกค้า เจ้าของบริการจึงต้องอาศัยการปกป้องผู้ใช้เป็นหลักดังต่อไปนี้:
- redaction – กระบวนการระบุและปิดบังข้อมูลที่ละเอียดอ่อน เช่น PII ในเอกสาร ข้อความ หรือเนื้อหาในรูปแบบอื่น ซึ่งสามารถทำได้ด้วยข้อมูลอินพุตก่อนที่จะถูกส่งไปยังแบบจำลองหรือ LLM ที่ได้รับการฝึกอบรมให้แก้ไขการตอบสนองโดยอัตโนมัติ
- การตรวจสอบสิทธิ์แบบหลายปัจจัย – กระบวนการรักษาความปลอดภัยที่กำหนดให้ผู้ใช้จัดเตรียมวิธีการรับรองความถูกต้องหลายวิธีเพื่อยืนยันตัวตนเพื่อเข้าถึง LLM
- ขนส่งเลเยอร์ความปลอดภัย (TLS) – โปรโตคอลการเข้ารหัสที่ให้การสื่อสารที่ปลอดภัยซึ่งช่วยเพิ่มความเป็นส่วนตัวของข้อมูลระหว่างการส่งผ่านระหว่างผู้ใช้และบริการ LLM
แม้ว่าแนวทางปฏิบัติเหล่านี้จะปรับปรุงมาตรการรักษาความปลอดภัยของบริการ แต่ก็ไม่เพียงพอที่จะปกป้องข้อมูลผู้ใช้ที่ละเอียดอ่อนทั้งหมดและข้อมูลละเอียดอ่อนอื่น ๆ ที่สามารถคงอยู่ได้โดยที่ผู้ใช้ไม่ทราบ
ในกรณีการใช้งานตัวอย่างของเรา บริการ LLM ได้รับการออกแบบมาเพื่อตอบคำถามเกี่ยวกับสิทธิประโยชน์ด้านการรักษาพยาบาลของพนักงาน หรือจัดทำแผนการเกษียณอายุส่วนบุคคล มาวิเคราะห์สถาปัตยกรรมตัวอย่างต่อไปนี้และระบุขอบเขตความเสี่ยงด้านความเป็นส่วนตัวของข้อมูล
พื้นที่เสี่ยงที่อาจเกิดขึ้นมีดังนี้:
- ผู้ใช้ที่มีสิทธิ์เข้าถึงอินสแตนซ์ที่เป็นที่ตั้งเซิร์ฟเวอร์ การเปลี่ยนแปลงบริการโดยไม่ได้ตั้งใจหรือไม่ได้รับอนุญาตอาจส่งผลให้ข้อมูลที่ละเอียดอ่อนถูกเปิดเผยในลักษณะที่ไม่ได้ตั้งใจ
- ผู้ใช้ต้องเชื่อว่าบริการจะไม่เปิดเผยหรือเก็บข้อมูลที่ละเอียดอ่อนในบันทึกแอปพลิเคชัน
- การเปลี่ยนแปลงแพ็คเกจแอปพลิเคชันอาจทำให้เกิดการเปลี่ยนแปลงบริการ ส่งผลให้เกิดการเปิดเผยข้อมูลที่ละเอียดอ่อน
- ผู้ใช้ที่มีสิทธิ์เข้าถึงอินสแตนซ์จะสามารถเข้าถึง LLM ที่บริการใช้ได้อย่างไม่จำกัด การเปลี่ยนแปลงอาจทำให้ข้อมูลที่ไม่ถูกต้องหรือไม่ถูกต้องถูกส่งกลับไปยังผู้ใช้
Nitro Enclaves มอบความโดดเดี่ยวเพิ่มเติมให้กับคุณ อเมซอน อีลาสติก คอมพิวท์ คลาวด์ (Amazon EC2) อินสแตนซ์ ปกป้องข้อมูลที่ใช้งานจากการเข้าถึงที่ไม่ได้รับอนุญาต รวมถึงผู้ใช้ระดับผู้ดูแลระบบ ในสถาปัตยกรรมก่อนหน้านี้ เป็นไปได้ที่การเปลี่ยนแปลงโดยไม่ได้ตั้งใจส่งผลให้ข้อมูลที่ละเอียดอ่อนยังคงอยู่ในรูปแบบข้อความธรรมดาและถูกเปิดเผยต่อผู้ใช้ที่อาจไม่จำเป็นต้องเข้าถึงข้อมูลนั้นโดยไม่ได้ตั้งใจ ด้วย Nitro Enclaves คุณจะสร้างสภาพแวดล้อมที่แยกจาก EC2 instance ของคุณ ทำให้คุณสามารถจัดสรรทรัพยากร CPU และหน่วยความจำให้กับ enclave ได้ วงล้อมนี้เป็นเครื่องเสมือนที่มีข้อจำกัดสูง ด้วยการรันโค้ดที่จัดการข้อมูลที่ละเอียดอ่อนภายในวงล้อม จะทำให้กระบวนการของผู้ปกครองไม่สามารถดูข้อมูลวงล้อมได้
Nitro Enclaves มอบคุณประโยชน์ดังต่อไปนี้:
- การแยกหน่วยความจำและ CPU – อาศัย Nitro Hypervisor เพื่อแยก CPU และหน่วยความจำของ Enclave ออกจากผู้ใช้ แอปพลิเคชัน และไลบรารีบนอินสแตนซ์หลัก คุณลักษณะนี้ช่วยแยกวงล้อมและซอฟต์แวร์ของคุณออกจากกัน และลดพื้นที่ผิวสำหรับเหตุการณ์ที่ไม่ได้ตั้งใจลงอย่างมาก
- แยกเครื่องเสมือน – Enclaves เป็นเครื่องเสมือนที่แยกออกจากกันซึ่งติดอยู่กับ EC2 instance เพื่อปกป้องและประมวลผลข้อมูลที่ละเอียดอ่อนสูงเพิ่มเติมอย่างปลอดภัย
- ไม่มีการเข้าถึงแบบโต้ตอบ – Enclaves ให้เฉพาะการเชื่อมต่อซ็อกเก็ตภายในที่ปลอดภัยกับอินสแตนซ์หลักเท่านั้น ไม่มีพื้นที่เก็บข้อมูลถาวร การเข้าถึงแบบโต้ตอบ หรือเครือข่ายภายนอก
- การรับรองการเข้ารหัส – ข้อเสนอของ Nitro Enclaves การรับรองการเข้ารหัสซึ่งเป็นกระบวนการที่ใช้ในการพิสูจน์ตัวตนของเครือข่ายที่ปลอดภัย และตรวจสอบว่ามีเพียงรหัสที่ได้รับอนุญาตเท่านั้นที่ทำงานอยู่ในเครือข่ายที่ปลอดภัยของคุณ
- บูรณาการ AWS – Nitro Enclaves ถูกรวมเข้ากับ บริการจัดการคีย์ AWS (AWS KMS) ช่วยให้คุณสามารถถอดรหัสไฟล์ที่เข้ารหัสโดยใช้ AWS KMS ภายใน Enclave ตัวจัดการใบรับรอง AWS (ACM) สำหรับ Nitro Enclaves ช่วยให้คุณใช้ใบรับรอง SSL/TLS สาธารณะและส่วนตัวกับเว็บแอปพลิเคชันและเซิร์ฟเวอร์ของคุณที่ทำงานบนอินสแตนซ์ EC2 ด้วย Nitro Enclaves
คุณสามารถใช้ฟีเจอร์เหล่านี้ที่ Nitro Enclaves มอบให้เพื่อช่วยลดความเสี่ยงที่เกี่ยวข้องกับข้อมูล PII และ PHI เราขอแนะนำให้รวม Nitro Enclaves ไว้ในบริการ LLM เมื่อจัดการข้อมูลผู้ใช้ที่ละเอียดอ่อน
ภาพรวมโซลูชัน
เรามาตรวจสอบสถาปัตยกรรมของบริการตัวอย่าง ซึ่งขณะนี้รวมถึง Nitro Enclaves แล้ว ด้วยการรวม Nitro Enclaves ดังแสดงในรูปต่อไปนี้ LLM จะกลายเป็นแชทบอตที่ปลอดภัยยิ่งขึ้นสำหรับการจัดการข้อมูล PHI หรือ PII
ข้อมูลผู้ใช้ รวมถึง PII, PHI และคำถาม ยังคงได้รับการเข้ารหัสตลอดกระบวนการตอบกลับคำขอ เมื่อแอปพลิเคชันโฮสต์ภายในเครือข่ายที่ปลอดภัย ขั้นตอนที่ดำเนินการในระหว่างการอนุมานมีดังนี้:
- แอปแชทบอทสร้างข้อมูลประจำตัว AWS ชั่วคราวและขอให้ผู้ใช้ป้อนคำถาม คำถามที่อาจมี PII หรือ PHI จะถูกเข้ารหัสผ่าน AWS KMS ข้อมูลผู้ใช้ที่เข้ารหัสจะถูกรวมเข้ากับข้อมูลรับรองชั่วคราวเพื่อสร้างคำขอที่เข้ารหัส
- ข้อมูลที่เข้ารหัสจะถูกส่งไปยังเซิร์ฟเวอร์ HTTP ที่โฮสต์โดย Flask ในรูปแบบคำขอ POST ก่อนที่จะยอมรับข้อมูลที่ละเอียดอ่อน ควรกำหนดค่าปลายทางนี้สำหรับ HTTP
- แอปไคลเอนต์ได้รับคำขอ POST และส่งต่อผ่านช่องทางท้องถิ่นที่ปลอดภัย (เช่น vsock) ไปยังแอปเซิร์ฟเวอร์ที่ทำงานภายใน Nitro Enclaves
- แอปเซิร์ฟเวอร์ Nitro Enclaves ใช้ข้อมูลประจำตัวชั่วคราวเพื่อถอดรหัสคำขอ สอบถาม LLM และสร้างการตอบกลับ การตั้งค่าเฉพาะรุ่นจะถูกจัดเก็บไว้ในวงล้อมและได้รับการป้องกันด้วยการรับรองการเข้ารหัส
- แอปเซิร์ฟเวอร์ใช้ข้อมูลรับรองชั่วคราวเดียวกันเพื่อเข้ารหัสการตอบสนอง
- การตอบสนองที่เข้ารหัสจะถูกส่งกลับไปยังแอปแชทบอทผ่านแอปไคลเอ็นต์เป็นการตอบกลับจากคำขอ POST
- แอปแชทบอทถอดรหัสการตอบสนองโดยใช้คีย์ KMS และแสดงข้อความธรรมดาให้ผู้ใช้เห็น
เบื้องต้น
ก่อนที่เราจะเริ่ม คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้เพื่อปรับใช้โซลูชัน:
กำหนดค่าอินสแตนซ์ EC2
ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่าอินสแตนซ์ EC2:
- เปิดตัวไฟล์ r5.8xlarge อินสแตนซ์ EC2 โดยใช้ amzn2-ami-kernel-5.10-hvm-2.0.20230628.0-x86_64-gp2 AMI โดยเปิดใช้งาน Nitro Enclaves
- ติดตั้ง Nitro Enclaves CLI เพื่อสร้างและรันแอปพลิเคชัน Nitro Enclaves:
sudo amazon-linux-extras install aws-nitro-enclaves-cli -y
sudo yum install aws-nitro-enclaves-cli-devel -y
- ตรวจสอบการติดตั้ง Nitro Enclaves CLI:
nitro-cli –version
- เวอร์ชันที่ใช้ในโพสต์นี้คือ 1.2.2
- ติดตั้ง Git และ Docker เพื่อสร้างอิมเมจ Docker และดาวน์โหลดแอปพลิเคชันจาก GitHub เพิ่มผู้ใช้อินสแตนซ์ของคุณไปยังกลุ่มนักเทียบท่า ( เป็นผู้ใช้อินสแตนซ์ IAM ของคุณ):
sudo yum install git -y
sudo usermod -aG ne <USER>
sudo usermod -aG docker <USER>
sudo systemctl start docker && sudo systemctl enable docker
- เริ่มต้นและเปิดใช้งานตัวจัดสรร Nitro Enclaves และบริการพร็อกซี vsock:
sudo systemctl start nitro-enclaves-allocator.service && sudo systemctl enable nitro-enclaves-allocator.service
sudo systemctl start nitro-enclaves-vsock-proxy.service && sudo systemctl enable nitro-enclaves-vsock-proxy.service
Nitro Enclaves ใช้การเชื่อมต่อซ็อกเก็ตภายในที่เรียกว่า vsock เพื่อสร้างช่องทางที่ปลอดภัยระหว่างอินสแตนซ์หลักและเครือข่าย
หลังจากบริการทั้งหมดเริ่มต้นและเปิดใช้งานแล้ว ให้รีสตาร์ทอินสแตนซ์เพื่อตรวจสอบว่ากลุ่มผู้ใช้และบริการทั้งหมดทำงานอย่างถูกต้อง:
sudo shutdown -r now
กำหนดค่าบริการตัวจัดสรร Nitro Enclaves
Nitro Enclaves เป็นสภาพแวดล้อมแบบแยกส่วนที่กำหนดส่วนของ CPU อินสแตนซ์และหน่วยความจำเพื่อเรียกใช้ Enclave ด้วยบริการจัดสรร Nitro Enclaves คุณสามารถระบุจำนวน CPU และจำนวนหน่วยความจำที่จะนำมาจากอินสแตนซ์หลักเพื่อเรียกใช้ Enclave
แก้ไขทรัพยากรที่สงวนไว้ของ Enclave โดยใช้โปรแกรมแก้ไขข้อความ (สำหรับโซลูชันของเรา เราจัดสรร CPU 8 ตัวและหน่วยความจำ 70,000 MiB เพื่อให้มีทรัพยากรเพียงพอ):
vi /etc/nitro_enclaves/allocatory.yaml
โคลนโครงการ
หลังจากที่คุณกำหนดค่าอินสแตนซ์ EC2 แล้ว คุณสามารถดาวน์โหลดโค้ดเพื่อเรียกใช้แชทบอทที่ละเอียดอ่อนด้วย LLM ภายใน Nitro Enclaves
คุณต้องอัพเดต server.py
ด้วยรหัสคีย์ KMS ที่เหมาะสมที่คุณสร้างไว้ตอนเริ่มต้นเพื่อเข้ารหัสการตอบสนองของ LLM
- โคลนโครงการ GitHub:
cd ~/ && git clone https://<THE_REPO.git>
- นำทางไปยังโฟลเดอร์โครงการเพื่อสร้าง
enclave_base
ภาพนักเทียบท่าที่มี ชุดพัฒนาซอฟต์แวร์ Nitro Enclaves (SDK) สำหรับเอกสารรับรองการเข้ารหัสจาก Nitro Hypervisor (ขั้นตอนนี้อาจใช้เวลาสูงสุด 15 นาที):cd /nitro_llm/enclave_base
docker build ./ -t “enclave_base”
บันทึก LLM ใน EC2 Instance
เรากำลังใช้ Bloom 560m LLM แบบโอเพ่นซอร์สสำหรับการประมวลผลภาษาธรรมชาติเพื่อสร้างการตอบสนอง โมเดลนี้ไม่ได้ปรับแต่งให้เข้ากับ PII และ PHI อย่างละเอียด แต่แสดงให้เห็นว่า LLM สามารถอยู่ในวงล้อมได้อย่างไร นอกจากนี้ โมเดลยังต้องได้รับการบันทึกบนอินสแตนซ์หลักเพื่อให้สามารถคัดลอกลงในเครือข่ายผ่าน Dockerfile ได้
- นำทางไปยังโครงการ:
cd /nitro_llm
- ติดตั้งข้อกำหนดที่จำเป็นเพื่อบันทึกโมเดลในเครื่อง:
pip3 install requirements.txt
- เรียกใช้
save_model.py
แอพสำหรับบันทึกโมเดลภายใน/nitro_llm/enclave/bloom
ไดเรกทอรี:python3 save_model.py
สร้างและเรียกใช้อิมเมจ Nitro Enclaves
หากต้องการเรียกใช้ Nitro Enclaves คุณต้องสร้างไฟล์รูปภาพ enclave (EIF) จากอิมเมจ Docker ของแอปพลิเคชันของคุณ Dockerfile ที่อยู่ในไดเร็กทอรีวงล้อมประกอบด้วยไฟล์ โค้ด และ LLM ที่จะทำงานภายในวงล้อม
การสร้างและดำเนินการวงล้อมจะใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์
- นำทางไปยังรากของโครงการ:
cd /nitro_llm
- สร้างไฟล์รูปภาพวงล้อมเป็น
enclave.eif
:nitro-cli build-enclave --docker-uri enclave:latest --output-file enclave.eif
เมื่อสร้างวงล้อมแล้ว ชุดของแฮชเฉพาะและการลงทะเบียนการกำหนดค่าแพลตฟอร์ม (PCR) จะถูกสร้างขึ้น PCR เป็นการวัดที่ต่อเนื่องกันเพื่อพิสูจน์ตัวตนของฮาร์ดแวร์และแอปพลิเคชัน PCR เหล่านี้จำเป็นสำหรับการรับรองการเข้ารหัสและใช้ในระหว่างขั้นตอนการอัปเดตนโยบายคีย์ KMS
- รันวงล้อมด้วยทรัพยากรจาก
allocator.service
(เพิ่ม--attach-console
อาร์กิวเมนต์ที่ส่วนท้ายจะเรียกใช้วงล้อมในโหมดแก้ไขข้อบกพร่อง):nitro-cli run-enclave --cpu-count 8 --memory 70000 --enclave-cid 16 --eif-path enclave.eif
คุณต้องจัดสรรขนาดไฟล์ EIF อย่างน้อยสี่เท่า ซึ่งสามารถแก้ไขได้ใน allocator.service
จากขั้นตอนที่แล้ว
- ตรวจสอบว่าวงล้อมทำงานอยู่ด้วยคำสั่งต่อไปนี้:
nitro-cli describe-enclaves
อัปเดตนโยบายคีย์ KMS
ทำตามขั้นตอนต่อไปนี้เพื่ออัปเดตนโยบายคีย์ KMS ของคุณ:
- บนคอนโซล AWS KMS ให้เลือก คีย์ที่จัดการโดยลูกค้า ในบานหน้าต่างนำทาง
- ค้นหาคีย์ที่คุณสร้างเป็นข้อกำหนดเบื้องต้น
- Choose Edit เกี่ยวกับนโยบายที่สำคัญ
- อัปเดตนโยบายหลักด้วยข้อมูลต่อไปนี้:
- รหัสบัญชีของคุณ
- ชื่อผู้ใช้ IAM ของคุณ
- บทบาทอินสแตนซ์สภาพแวดล้อม Cloud9 ที่อัปเดต
- สถานะ
kms:Encrypt
และkms:Decrypt
- Enclave PCRs (เช่น PCR0, PCR1, PCR2) เข้ากับนโยบายหลักของคุณด้วยคำสั่งเงื่อนไข
ดูรหัสนโยบายที่สำคัญต่อไปนี้:
บันทึกแอปแชทบอท
หากต้องการเลียนแบบแอปพลิเคชันแชทบอทการสืบค้นที่ละเอียดอ่อนซึ่งอยู่นอกบัญชี AWS คุณต้องบันทึก chatbot.py
แอพและรันภายในสภาพแวดล้อม Cloud9 สภาพแวดล้อม Cloud9 ของคุณจะใช้บทบาทของอินสแตนซ์เป็นข้อมูลรับรองชั่วคราวเพื่อยกเลิกการเชื่อมโยงสิทธิ์จาก EC2 ที่ใช้งานเครือข่ายที่ปลอดภัย ทำตามขั้นตอนต่อไปนี้:
- บนคอนโซล Cloud9 ให้เปิดสภาพแวดล้อมที่คุณสร้างขึ้น
- คัดลอกรหัสต่อไปนี้ลงในไฟล์ใหม่เช่น
chatbot.py
ลงในไดเร็กทอรีหลัก - ติดตั้งโมดูลที่จำเป็น:
pip install boto3
Pip install requests
- บนคอนโซล Amazon EC2 ให้จดบันทึก IP ที่เชื่อมโยงกับอินสแตนซ์ Nitro Enclaves ของคุณ
- อัปเดตตัวแปร URL ใน
http://<ec2instanceIP>:5001
.
- เรียกใช้แอปพลิเคชันแชทบอท:
-
python3 chat.py
เมื่อทำงาน เทอร์มินัลจะขอข้อมูลจากผู้ใช้และปฏิบัติตามไดอะแกรมสถาปัตยกรรมจากก่อนหน้านี้เพื่อสร้างการตอบสนองที่ปลอดภัย
เรียกใช้คำถามส่วนตัวและตอบแชทบอท
ขณะนี้ Nitro Enclaves เปิดใช้งานและทำงานบนอินสแตนซ์ EC2 แล้ว คุณสามารถถามคำถาม PHI และ PII ของแชทบอทได้อย่างปลอดภัยยิ่งขึ้น ลองดูตัวอย่าง
ภายในสภาพแวดล้อม Cloud9 เราจะถามคำถามแชทบอทและระบุชื่อผู้ใช้ของเรา
AWS KMS เข้ารหัสคำถาม ซึ่งดูเหมือนภาพหน้าจอต่อไปนี้
จากนั้นจะถูกส่งไปยังวงล้อมและถาม LLM ที่มีการรักษาความปลอดภัย คำถามและคำตอบของ LLM จะมีลักษณะเหมือนภาพหน้าจอต่อไปนี้ (ผลลัพธ์และการตอบสนองที่เข้ารหัสจะมองเห็นได้ภายในวงล้อมเฉพาะในโหมดแก้ไขจุดบกพร่องเท่านั้น)
จากนั้นผลลัพธ์จะถูกเข้ารหัสโดยใช้ AWS KMS และส่งคืนไปยังสภาพแวดล้อม Cloud9 เพื่อถอดรหัส
ทำความสะอาด
ทำตามขั้นตอนต่อไปนี้เพื่อล้างทรัพยากรของคุณ:
- หยุดอินสแตนซ์ EC2 ที่สร้างขึ้นเพื่อใช้เป็นที่เก็บเครือข่ายของคุณ
- ลบสภาพแวดล้อม Cloud9
- ลบคีย์ KMS
- ลบบทบาทของอินสแตนซ์ EC2 และสิทธิ์ผู้ใช้ IAM
สรุป
ในโพสต์นี้ เราได้จัดแสดงวิธีใช้ Nitro Enclaves เพื่อปรับใช้บริการคำถามและคำตอบ LLM ที่ส่งและรับข้อมูล PII และ PHI ได้อย่างปลอดภัยยิ่งขึ้น สิ่งนี้ถูกปรับใช้บน Amazon EC2 และ Enclaves ได้รับการผสานรวมกับ AWS KMS ซึ่งจำกัดการเข้าถึงคีย์ KMS ดังนั้นเฉพาะ Nitro Enclaves และผู้ใช้ปลายทางเท่านั้นที่ได้รับอนุญาตให้ใช้คีย์และถอดรหัสคำถาม
หากคุณวางแผนที่จะปรับขนาดสถาปัตยกรรมนี้เพื่อรองรับปริมาณงานที่มีขนาดใหญ่ขึ้น ตรวจสอบให้แน่ใจว่ากระบวนการเลือกแบบจำลองตรงกับข้อกำหนดของแบบจำลองของคุณด้วยทรัพยากร EC2 นอกจากนี้ คุณต้องพิจารณาขนาดคำขอสูงสุดและผลกระทบที่จะมีต่อเซิร์ฟเวอร์ HTTP และเวลาในการอนุมานกับโมเดล พารามิเตอร์เหล่านี้จำนวนมากสามารถปรับแต่งได้ผ่านโมเดลและการตั้งค่าเซิร์ฟเวอร์ HTTP
วิธีที่ดีที่สุดในการพิจารณาการตั้งค่าและข้อกำหนดเฉพาะสำหรับปริมาณงานของคุณคือการทดสอบกับ LLM ที่ได้รับการปรับแต่งอย่างละเอียด แม้ว่าโพสต์นี้จะรวมเฉพาะการประมวลผลข้อมูลที่ละเอียดอ่อนในภาษาธรรมชาติเท่านั้น คุณสามารถปรับเปลี่ยนสถาปัตยกรรมนี้เพื่อรองรับ LLM ทางเลือกที่สนับสนุนเสียง คอมพิวเตอร์วิทัศน์ หรือรูปแบบต่างๆ ได้ หลักการรักษาความปลอดภัยเดียวกันที่เน้นไว้ที่นี่สามารถนำไปใช้กับข้อมูลในรูปแบบใดก็ได้ ทรัพยากรที่ใช้ในการสร้างโพสต์นี้มีอยู่ใน repo GitHub.
แบ่งปันว่าคุณจะนำโซลูชันนี้ไปปรับใช้กับสภาพแวดล้อมของคุณอย่างไรในส่วนความคิดเห็น
เกี่ยวกับผู้เขียน
จัสติน ไมล์ส เป็นวิศวกรคลาวด์ในกลุ่ม Leidos Digital Modernization ภายใต้สำนักงานเทคโนโลยี ในเวลาว่าง เขาชอบเล่นกอล์ฟและท่องเที่ยว
ลิฟ ดาลิเบอร์ตี เป็นนักวิจัยภายใน Leidos AI/ML Accelerator ภายใต้สำนักงานเทคโนโลยี การวิจัยของพวกเขามุ่งเน้นไปที่การเรียนรู้ของเครื่องที่รักษาความเป็นส่วนตัว
คริส เรนโซ เป็นสถาปนิกโซลูชันอาวุโสภายในองค์กร AWS Defense and Aerospace นอกเหนือจากการทำงาน เขาชอบสมดุลระหว่างอากาศอบอุ่นและการเดินทาง
โจ คอฟบา เป็นรองประธานในภาคส่วนการปรับปรุงดิจิทัลของไลโดส ในเวลาว่าง เขาสนุกกับการตัดสินฟุตบอลและเล่นซอฟต์บอล
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- PlatoData.Network Vertical Generative Ai เพิ่มพลังให้กับตัวเอง เข้าถึงได้ที่นี่.
- เพลโตไอสตรีม. Web3 อัจฉริยะ ขยายความรู้ เข้าถึงได้ที่นี่.
- เพลโตESG. คาร์บอน, คลีนเทค, พลังงาน, สิ่งแวดล้อม แสงอาทิตย์, การจัดการของเสีย. เข้าถึงได้ที่นี่.
- เพลโตสุขภาพ เทคโนโลยีชีวภาพและข่าวกรองการทดลองทางคลินิก เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/machine-learning/large-language-model-inference-over-confidential-data-using-aws-nitro-enclaves/
- :มี
- :เป็น
- :ไม่
- $ ขึ้น
- 000
- 1
- 15%
- 16
- 24
- 29
- 32
- 36
- 500
- 67
- 7
- 70
- 8
- 9
- a
- สามารถ
- คันเร่ง
- ยอมรับ
- เข้า
- คล่องแคล่ว
- ลงชื่อเข้าใช้
- พลอากาศเอก
- การกระทำ
- ปรับ
- เพิ่ม
- เพิ่ม
- เพิ่มเติม
- นอกจากนี้
- ที่อยู่
- การบินและอวกาศ
- กับ
- AI / ML
- ทั้งหมด
- จัดสรร
- อนุญาต
- อนุญาตให้
- การอนุญาต
- ช่วยให้
- ด้วย
- แม้ว่า
- อเมซอน
- Amazon EC2
- Amazon Web Services
- an
- การวิเคราะห์
- วิเคราะห์
- และ
- คำตอบ
- ตอบ
- ใด
- app
- การใช้งาน
- การใช้งาน
- ประยุกต์
- เข้าใกล้
- เหมาะสม
- ในเชิงสถาปัตยกรรม
- สถาปัตยกรรม
- สถาปัตยกรรม
- เป็น
- AREA
- พื้นที่
- อาร์กิวเมนต์
- AS
- ถาม
- ขอให้
- ช่วยเหลือ
- ที่เกี่ยวข้อง
- At
- เสียง
- การยืนยันตัวตน
- มีอำนาจ
- อัตโนมัติ
- ใช้ได้
- AWS
- กลับ
- ยอดคงเหลือ
- ขั้นพื้นฐาน
- BE
- จะกลายเป็น
- รับ
- ก่อน
- การเริ่มต้น
- กำลัง
- ประโยชน์
- ประโยชน์ที่ได้รับ
- ที่ดีที่สุด
- ระหว่าง
- บานสะพรั่ง
- ธ ปท
- กว้าง
- สร้าง
- สร้าง
- แต่
- by
- ที่เรียกว่า
- CAN
- ดำเนินการ
- พกพา
- กรณี
- ก่อให้เกิด
- ใบรับรอง
- ใบรับรอง
- ความท้าทาย
- เปลี่ยนแปลง
- การเปลี่ยนแปลง
- ช่อง
- พูดคุย
- chatbot
- chatbots
- Choose
- พลเรือน
- ปลาเดยส์
- CLI
- ไคลเอนต์
- เมฆ
- Cloud9
- รหัส
- รวบรวม
- รวม
- ความคิดเห็น
- การสื่อสาร
- คมนาคม
- สมบูรณ์
- คำนวณ
- คอมพิวเตอร์
- วิสัยทัศน์คอมพิวเตอร์
- ความกังวลเกี่ยวกับ
- สภาพ
- ลับ
- องค์ประกอบ
- การกำหนดค่า
- การเชื่อมต่อ
- การเชื่อมต่อ
- พิจารณา
- ปลอบใจ
- บรรจุ
- มี
- เนื้อหา
- การสร้างเนื้อหา
- การควบคุม
- ได้อย่างถูกต้อง
- ได้
- สร้าง
- ที่สร้างขึ้น
- หนังสือรับรอง
- หนังสือรับรอง
- การเข้ารหัสลับ
- ปัจจุบัน
- ลูกค้า
- ข้อมูลลูกค้า
- ปรับแต่งได้
- ข้อมูล
- ความเป็นส่วนตัวของข้อมูล
- ถอดรหัส
- ป้องกัน
- แสดงให้เห็นถึง
- ปรับใช้
- นำไปใช้
- การใช้งาน
- บรรยาย
- ได้รับการออกแบบ
- กำหนด
- พัฒนา
- พัฒนาการ
- แผนภาพ
- ดิจิตอล
- ไดเรกทอรี
- สนทนา
- กล่าวถึง
- แสดง
- นักเทียบท่า
- เอกสาร
- เอกสาร
- Dont
- ดาวน์โหลด
- สอง
- ในระหว่าง
- ก่อน
- บรรณาธิการ
- เกี่ยวกับการศึกษา
- ผล
- อีฟ
- ลูกจ้าง
- ทำให้สามารถ
- เปิดการใช้งาน
- วงล้อม
- การเข้ารหัสลับ
- ที่มีการเข้ารหัส
- ปลาย
- ปลายทาง
- วิศวกร
- เครื่องยนต์
- เสริม
- ช่วย
- พอ
- สิ่งแวดล้อม
- สภาพแวดล้อม
- เหตุการณ์
- ตรวจสอบ
- ตัวอย่าง
- ยกเว้น
- การกรอง
- อย่างชัดเจน
- ที่เปิดเผย
- การเปิดรับ
- ภายนอก
- ล้มเหลว
- ลักษณะ
- คุณสมบัติ
- รูป
- เนื้อไม่มีมัน
- ไฟล์
- สุดท้าย
- ทางการเงิน
- มุ่งเน้นไปที่
- ปฏิบัติตาม
- ดังต่อไปนี้
- ดังต่อไปนี้
- ฟุตบอล
- สำหรับ
- รูป
- รูปแบบ
- โชคลาภ
- สี่
- ฟรี
- ราคาเริ่มต้นที่
- ฟังก์ชัน
- ต่อไป
- ได้รับ
- เกม
- สร้าง
- สร้าง
- สร้าง
- รุ่น
- ได้รับ
- ไป
- GitHub
- ไป
- รัฐบาล
- บัญชีกลุ่ม
- กลุ่ม
- จัดการ
- การจัดการ
- ฮาร์ดแวร์
- มี
- he
- สุขภาพ
- ข้อมูลสุขภาพ
- การดูแลสุขภาพ
- ช่วย
- จะช่วยให้
- โปรดคลิกที่นี่เพื่ออ่านรายละเอียดเพิ่มเติม
- ไฮไลต์
- อย่างสูง
- ของเขา
- บ้านเกิดเมืองนอน
- ความมั่นคงแห่งมาตุภูมิ
- เจ้าภาพ
- เป็นเจ้าภาพ
- บ้าน
- บ้าน
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTML
- ที่ http
- HTTPS
- i
- ID
- ระบุตัวตนได้
- แยกแยะ
- ระบุ
- เอกลักษณ์
- if
- ภาพ
- ภาพ
- ส่งผลกระทบ
- การดำเนินการ
- นำเข้า
- in
- ไม่เที่ยง
- ประกอบด้วย
- รวม
- รวมทั้ง
- ผสมผสาน
- ไม่ถูกต้อง
- แสดง
- อุตสาหกรรม
- แจ้ง
- ข้อมูล
- อินพุต
- กำลังป้อนข้อมูล
- ภายใน
- ติดตั้ง
- การติดตั้ง
- ตัวอย่าง
- แบบบูรณาการ
- บูรณาการ
- ทางปัญญา
- ทรัพย์สินทางปัญญา
- Intelligence
- การโต้ตอบ
- เข้าไป
- แนะนำ
- แนะนำ
- IP
- เปลี่ยว
- ความเหงา
- IT
- ITS
- JOE
- JSON
- จัสติน
- คีย์
- ความรู้
- ภาษา
- ใหญ่
- ที่มีขนาดใหญ่
- ล่าสุด
- ชั้น
- ผู้นำ
- การเรียนรู้
- น้อยที่สุด
- ห้องสมุด
- กดไลก์
- LIV
- สด
- ชีวิต
- LLM
- ในประเทศ
- ในท้องถิ่น
- ที่ตั้งอยู่
- ดู
- ดูเหมือน
- LOOKS
- เครื่อง
- เรียนรู้เครื่อง
- เครื่อง
- หลัก
- ทำ
- การจัดการ
- การจัดการ
- การจัดการ
- หลาย
- ตลาด
- ที่ตรงกัน
- สูงสุด
- อาจ..
- การวัด
- หน่วยความจำ
- เมตาดาต้า
- วิธีการ
- นาที
- บรรเทา
- โหมด
- แบบ
- การแก้ไข
- แก้ไข
- โมดูล
- ข้อมูลเพิ่มเติม
- มากที่สุด
- มาก
- หลาย
- ต้อง
- ชื่อ
- โดยธรรมชาติ
- ประมวลผลภาษาธรรมชาติ
- การเดินเรือ
- ne
- จำเป็น
- จำเป็นต้อง
- ความต้องการ
- เครือข่าย
- ใหม่
- Nitro
- ไม่
- ไม่มี
- หมายเหตุ
- ตอนนี้
- of
- เสนอ
- Office
- on
- เพียง
- เปิด
- โอเพนซอร์ส
- or
- ใบสั่ง
- organizacja
- อื่นๆ
- ของเรา
- ออก
- ด้านนอก
- เกิน
- ภาพรวม
- เจ้าของ
- แพคเกจ
- บานหน้าต่าง
- พารามิเตอร์
- สิทธิ์
- ส่วนบุคคล
- ส่วนตัว
- แผนการ
- การวางแผน
- เวที
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เล่น
- นโยบาย
- ส่วน
- เป็นไปได้
- โพสต์
- ที่มีศักยภาพ
- การปฏิบัติ
- มาก่อน
- เบื้องต้น
- ข้อกำหนดเบื้องต้น
- ประธาน
- ก่อน
- ส่วนใหญ่
- หลัก
- หลักการ
- ความเป็นส่วนตัว
- ภัยคุกคามความเป็นส่วนตัว
- ส่วนตัว
- กระบวนการ
- กระบวนการ
- การประมวลผล
- การผลิต
- โครงการ
- คุณสมบัติ
- ป้องกัน
- การป้องกัน
- โปรโตคอล
- พิสูจน์
- ให้
- ให้
- ให้
- หนังสือมอบฉันทะ
- สาธารณะ
- วัตถุประสงค์
- คำสั่ง
- การสอบถาม
- คำถาม
- คำถาม
- ที่ได้รับ
- แนะนำ
- ลด
- ภูมิภาค
- ลงทะเบียน
- อาศัย
- วางใจ
- ซากศพ
- ขอ
- การร้องขอ
- จำเป็นต้องใช้
- ความต้องการ
- ต้อง
- การวิจัย
- นักวิจัย
- ลิขสิทธิ์
- ทรัพยากร
- แหล่งข้อมูล
- คำตอบ
- การตอบสนอง
- จำกัด
- คับแคบ
- ผล
- ส่งผลให้
- รักษา
- การเกษียณอายุ
- กลับ
- เปิดเผย
- ความเสี่ยง
- ความเสี่ยง
- บทบาท
- ราก
- วิ่ง
- วิ่ง
- ป้องกัน
- การป้องกัน
- เดียวกัน
- ตัวอย่าง
- ลด
- ที่บันทึกไว้
- ขนาด
- วิทยาศาสตร์
- วิทยาศาสตร์และเทคโนโลยี
- SDK
- ค้นหา
- เครื่องมือค้นหา
- Section
- ภาค
- ปลอดภัย
- ปลอดภัย
- อย่างปลอดภัย
- ความปลอดภัย
- การเลือก
- ส่ง
- มีความละเอียดอ่อน
- ส่ง
- ความรู้สึก
- ชุด
- เซิร์ฟเวอร์
- เซิร์ฟเวอร์
- บริการ
- บริการ
- ชุด
- การตั้งค่า
- น่า
- จัดแสดง
- แสดง
- การปิด
- อย่างมีความหมาย
- ขนาด
- So
- ซอฟต์แวร์
- การพัฒนาซอฟต์แวร์
- ทางออก
- โซลูชัน
- บาง
- โดยเฉพาะ
- เฉพาะ
- เริ่มต้น
- ข้อความที่เริ่ม
- คำแถลง
- ขั้นตอน
- ขั้นตอน
- การเก็บรักษา
- เก็บไว้
- อย่างเช่น
- เพียงพอ
- สนับสนุน
- ที่สนับสนุน
- แน่ใจ
- พื้นผิว
- ระบบ
- ระบบ
- เอา
- นำ
- วิชาการ
- เทคโนโลยี
- ชั่วคราว
- สถานีปลายทาง
- การทดสอบ
- ข้อความ
- ที่
- พื้นที่
- ของพวกเขา
- แล้วก็
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- นี้
- เหล่านั้น
- ภัยคุกคาม
- ตลอด
- ตลอด
- เวลา
- ครั้ง
- ไปยัง
- โทเค็น
- ผ่านการฝึกอบรม
- การขนส่ง
- การแปลภาษา
- การเดินทาง
- วางใจ
- ลอง
- ไม่มีสิทธิ
- ภายใต้
- เข้าใจ
- เป็นเอกลักษณ์
- ไม่ จำกัด
- บันทึก
- ให้กับคุณ
- URL
- ใช้
- ใช้กรณี
- มือสอง
- ผู้ใช้งาน
- ผู้ใช้
- ใช้
- การใช้
- ตัวแปร
- ตรวจสอบ
- รุ่น
- ผ่านทาง
- รอง
- Vice President
- รายละเอียด
- การละเมิด
- เสมือน
- เครื่องเสมือน
- มองเห็นได้
- วิสัยทัศน์
- ผู้สมัครที่รู้จักเรา
- คือ
- ทาง..
- วิธี
- we
- สภาพอากาศ
- เว็บ
- เว็บแอปพลิเคชัน
- บริการเว็บ
- อะไร
- เมื่อ
- ที่
- WHO
- จะ
- กับ
- ภายใน
- ไม่มี
- งาน
- ทำงาน
- การทำงาน
- ของโลก
- X
- คุณ
- ของคุณ
- ลมทะเล