Dengan meningkatnya popularitas model bahasa besar (LLMs), semakin banyak perusahaan menggunakan mereka untuk meningkatkan kemampuan bisnis. Oleh karena itu, pengelolaan model dan data pengguna yang aman menjadi semakin penting. Topik ini menjelaskan cara menggunakan instance komputasi rahasia heterogen untuk membangun lingkungan inferensi LLM yang mendukung pengukuran keamanan.
Informasi latar belakang
Instance komputasi rahasia heterogen gn8v-tee dari Alibaba Cloud mengintegrasikan GPU ke dalam Lingkungan Eksekusi Tepercaya (TEEs) berdasarkan instance komputasi rahasia TDX dengan ekstensi domain tepercaya berbasis CPU. Ini melindungi transmisi data antara CPU dan GPU serta komputasi data di dalam GPU. Topik ini menjelaskan solusi yang mengintegrasikan kemampuan pengukuran kepercayaan dan pembuktian jarak jauh Intel TDX ke dalam layanan inferensi LLM pada instance komputasi rahasia heterogen. Solusi ini membantu membangun alur kerja otentikasi identitas dan perlindungan privasi yang kuat dan aman untuk layanan LLM. Anda dapat menggunakan solusi ini untuk mengelola model dan data pengguna secara aman guna lebih menjaga integritas data dan mencegah akses tidak sah sepanjang siklus hidup layanan.
Solusi ini dirancang berdasarkan prinsip-prinsip berikut:
Kerahasiaan: Memastikan bahwa data model dan pengguna hanya diproses di dalam batas keamanan rahasia instance komputasi rahasia dan mencegah paparan teks biasa ke lingkungan eksternal.
Integritas: Memastikan proteksi anti-pemalsuan untuk kode, data, dan konfigurasi semua komponen lingkungan layanan inferensi LLM, seperti kerangka layanan inferensi, file model, dan antarmuka interaktif, serta mendukung audit dan verifikasi pihak ketiga yang ketat.
Arsitektur teknis
Gambar berikut menunjukkan arsitektur teknis keseluruhan dari solusi di Alibaba Cloud.
Arsitektur ini mencakup komponen-komponen berikut:
Klien
Pengguna akhir mengakses UI layanan LLM untuk memulai sesi guna memverifikasi kepercayaan lingkungan layanan model jarak jauh dan berkomunikasi secara aman dengan layanan model backend.
Layanan Pembuktian Jarak Jauh
Layanan pembuktian jarak jauh Alibaba Cloud digunakan untuk memverifikasi status keamanan lingkungan layanan inferensi model, seperti platform trusted computing base (TCB) dan lingkungan layanan inferensi model.
Komponen Layanan Inferensi
Ollama: Kerangka layanan model untuk memproses permintaan layanan inferensi model. Dalam contoh ini,
v0.5.7digunakan.DeepSeek: LLM. Dalam contoh ini, model DeepSeek-R1-70B (kuantisasi int4) yang disuling digunakan.
Open WebUI: Antarmuka web interaktif yang berjalan di dalam VM rahasia dan menerima permintaan layanan model pengguna menggunakan RESTful APIs. Dalam contoh ini,
v0.5.20digunakan.Proyek Sumber Terbuka CCZoo: Menggunakan kode sumber Confidential AI sebagai proyek sumber terbuka Confidential Computing Zoo (CCZoo). Dalam contoh ini,
v1.2digunakan. Untuk informasi lebih lanjut tentang proyek sumber terbuka, lihat Demo Solusi Confidential AI.
CCZoo adalah kumpulan solusi keamanan siap kode untuk komputasi awan, yang bertujuan untuk membantu pengembang dengan mudah membangun solusi komputasi rahasia ujung-ke-ujung mereka sendiri. Teknologi keamanan modern yang terlibat mencakup TEE seperti Intel® Software Guard Extensions (SGX) dan TDX, Enkripsi Homomorfik (HE) dan percepatan perangkat kerasnya, pembuktian jarak jauh, LibOS, serta enkripsi kriptografi dan percepatan perangkat kerasnya. Skenario bisnis yang terlibat mencakup inferensi AI cloud-native, pembelajaran terfederasi, analitik data besar, manajemen kunci, dan Remote Process Call (RPC) seperti gRPC.
Alur kerja
Berikut ini menjelaskan alur kerja solusi.

Fase Boot Layanan dan Pengukuran
Ukur lingkungan runtime: Modul TCB platform mengukur integritas lingkungan runtime tempat layanan model berjalan. Hasil pengukuran disimpan di modul TDX dalam TCB.
Fase Inisialisasi Sesi Inferensi
Buat sesi: Klien (browser) memulai permintaan sesi ke Open WebUI.
Fase Pembuktian Jarak Jauh
Verifikasi Permintaan: Saat klien memulai permintaan sesi, TD Quote diminta untuk memverifikasi kepercayaan lingkungan runtime model dari backend layanan. Quote juga dapat digunakan untuk memverifikasi kepercayaan lingkungan layanan jarak jauh, seperti kepercayaan layanan manajemen sesi pengguna Open WebUI dan layanan model Ollama dan DeepSeek.
Hasilkan Quote: Backend Open WebUI meneruskan permintaan pembuktian ke VM rahasia berbasis Intel TDX. Kemudian, VM rahasia menghasilkan laporan pembuktian jarak jauh berdasarkan perangkat keras CPU. Laporan ini disebut TDX Quote dan berisi rantai sertifikat lengkap.
Verifikasi Quote: Klien mengirimkan Quote yang diterima ke layanan pembuktian jarak jauh untuk diverifikasi. Layanan pembuktian memverifikasi validitas Quote yang berisi tanda tangan digital, rantai sertifikat, dan kebijakan keamanan dan mengembalikan hasil pembuktian untuk memeriksa status keamanan dan integritas lingkungan layanan model jarak jauh.
Fase Layanan Inferensi LLM Rahasia
Jika pembuktian jarak jauh berhasil, klien dapat sepenuhnya mempercayai layanan model jarak jauh karena layanan berjalan dalam mode yang sangat aman dan tepercaya. Ini meminimalkan kebocoran data di sisi pengguna.
Jika pembuktian jarak jauh gagal, layanan pembuktian mengembalikan pesan kesalahan. Setelah pesan kesalahan dikembalikan, pengguna atau sistem dapat membatalkan permintaan layanan berikutnya atau terus memberikan layanan. Namun, risiko keamanan mungkin terjadi dalam layanan model jarak jauh.
Prosedur
Langkah 1: Buat instance komputasi rahasia heterogen
Data model yang diunduh menggunakan Ollama disimpan di direktori /usr/share/ollama/.ollama/models. Ukuran file model biasanya besar. Misalnya, file model DeepSeek-R1 70B yang dikuantisasi berukuran sekitar 40 GB. Kami sarankan Anda mempertimbangkan ukuran model saat membuat instance untuk menetapkan kapasitas disk yang sesuai. Kapasitas disk yang direkomendasikan adalah dua hingga tiga kali ukuran file model.
Gunakan konsol ECS
Langkah-langkah untuk membuat instance dengan kemampuan komputasi rahasia heterogen di konsol Elastic Compute Service (ECS) serupa dengan membuat instance biasa, tetapi Anda harus memperhatikan parameter tertentu. Bagian ini hanya menjelaskan parameter yang terkait dengan instance komputasi rahasia heterogen. Untuk informasi tentang parameter lainnya, lihat Buat Instance di Tab Peluncuran Kustom.
Pergi ke Konsol ECS - Instance.
Di bilah navigasi atas, pilih wilayah dan grup sumber daya dari sumber daya yang ingin Anda kelola.
Klik Create Instance dan konfigurasikan parameter yang dijelaskan dalam tabel berikut.
Parameter
Deskripsi
Wilayah dan Zona
Beijing Zone L
Tipe Instance
Hanya tipe instance ecs.gn8v-tee.4xlarge dan lebih tinggi yang didukung.
Image
Pilih image Alibaba Cloud Linux 3.2104 LTS 64-bit.
Buat instance sesuai petunjuk.
Panggil Operasi API atau gunakan CLI Alibaba Cloud
Panggil operasi RunInstances atau gunakan CLI Alibaba Cloud untuk membuat instance ECS yang mendukung TDX. Perhatikan parameter yang dijelaskan dalam tabel berikut.
Parameter | Deskripsi | Contoh |
RegionId | Tetapkan wilayah ke China (Beijing). | cn-beijing |
ZoneId | Tetapkan zona ke Beijing Zone L. | cn-beijing-l |
InstanceType | Pilih tipe instance ecs.gn8v-tee.4xlarge atau lebih tinggi. | ecs.gn8v-tee.4xlarge |
ImageId | Tentukan ID image yang mendukung komputasi rahasia heterogen. Hanya image Alibaba Cloud Linux 3.2104 LTS 64-bit dengan versi kernel 5.10.134-18.al8.x86_64 atau lebih baru yang didukung. | aliyun_3_x64_20G_alibase_20250117.vhd |
Contoh CLI:
aliyun ecs RunInstances \
--Region cn-beijing \
--ZoneId cn-beijing-l \
--SystemDisk.Category cloud_essd \
--ImageId 'aliyun_3_x64_20G_alibase_20250117.vhd' \
--InstanceType 'ecs.gn8v-tee.4xlarge' \
--SecurityGroupId 'sg-[SecurityGroupId]' \
--VSwitchId 'vsw-[VSwitchID]' \
--KeyPairName [KEY_PAIR_NAME] \Langkah 2: Bangun lingkungan pembuktian jarak jauh TDX
TDX Report adalah struktur data yang dihasilkan oleh perangkat keras CPU untuk mewakili identitas instance yang mendukung TDX. TDX Report mencakup informasi penting tentang instance yang mendukung TDX, seperti atribut (ATTRIBUTES), register pengukuran yang dapat diperluas waktu proses (RTMR), dan nomor versi keamanan trusted-computing base (TCB) (SVN). TDX Report menggunakan metode kriptografi untuk memastikan integritas informasi. Untuk informasi lebih lanjut, lihat Modul Intel TDX.
Impor repositori perangkat lunak YUM untuk komputasi rahasia Alibaba Cloud.
URL publik repositori perangkat lunak YUM berformat sebagai berikut:
https://enclave-[Region-ID].oss-[Region-ID].aliyuncs.com/repo/alinux/enclave-expr.repo.URL internal repositori perangkat lunak YUM berformat sebagai berikut:
https://enclave-[Region-ID].oss-[Region-ID]-internal.aliyuncs.com/repo/alinux/enclave-expr.repo.
Ganti [Region-ID] dalam URL di atas dengan ID wilayah aktual dari instance yang mendukung TDX. Anda hanya dapat membuat instance yang mendukung TDX di wilayah China (Beijing). Untuk mengimpor repositori perangkat lunak YUM dari URL internal yang spesifik untuk wilayah China (Beijing), jalankan perintah berikut:
region="cn-beijing" sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://enclave-${region}.oss-${region}-internal.aliyuncs.com/repo/alinux/enclave-expr.repoInstal alat kompilasi dan kode sampel.
sudo yum groupinstall -y "Development Tools" sudo yum install -y sgxsdk libtdx-attest-develKonfigurasikan layanan pembuktian jarak jauh TDX Alibaba Cloud.
Tentukan parameter
PCCS_URLdalam file/etc/sgx_default_qcnl.conf. Anda hanya dapat menentukan parameter PCCS_URL untuk menunjuk ke layanan Distributed Cooperative Access Points (DCAP) di wilayah China (Beijing).sudo sed -i.$(date "+%m%d%y") 's|PCCS_URL=.*|PCCS_URL=https://sgx-dcap-server.cn-beijing.aliyuncs.com/sgx/certification/v4/|' /etc/sgx_default_qcnl.conf
Langkah 3: Instal Ollama
Gunakan Workbench untuk terhubung ke instance Linux melalui SSH. Untuk informasi lebih lanjut, lihat Gunakan Workbench untuk Terhubung ke Instance Linux melalui SSH.
Jalankan perintah berikut untuk menginstal Ollama:
curl -fsSL https://ollama.com/install.sh | shCatatanSkrip di atas adalah skrip instalasi resmi Ollama. Jika instalasi gagal karena masalah jaringan, gunakan metode instalasi lain. Untuk informasi lebih lanjut, lihat Panduan Instalasi Ollama.
Langkah 4: Gunakan Ollama untuk mengunduh dan menjalankan model DeepSeek-R1
Pengunduhan memakan waktu lama karena ukuran file model besar. Kami sarankan Anda menggunakan alat tmux untuk mempertahankan sesi dan mencegah gangguan pengunduhan.
Instal Alat tmux.
Jalankan perintah berikut untuk menginstal alat tmux:
sudo yum install -y tmuxGunakan Ollama untuk Mengunduh dan Menjalankan Model DeepSeek-R1.
Jalankan perintah berikut untuk membuat sesi tmux dan gunakan Ollama untuk mengunduh dan menjalankan model DeepSeek-R1 dalam sesi:
# Buat sesi tmux bernama run-deepseek. tmux new -s "run-deepseek" # Unduh dan jalankan model DeepSeek-R1 dalam sesi. ollama run deepseek-r1:70bJika output perintah berikut dikembalikan, model telah diunduh dan dimulai. Masukkan
/byeuntuk keluar dari proses interaksi model....... memverifikasi digest sha256 menulis manifest sukses >>> >>> Kirim pesan (/? untuk bantuan)(Opsional Bersyarat) Hubungkan Kembali ke Sesi tmux.
Jika Anda ingin melanjutkan sesi tmux setelah jaringan terputus, jalankan perintah berikut:
tmux attach -t run-deepseek
Langkah 5: Kompilasi kode di Open WebUI
Jika Anda ingin Open WebUI mendukung layanan pengukuran keamanan berbasis TDX, unduh plugin pengukuran keamanan TDX dan kompilasi kode secara manual di Open WebUI berdasarkan kode sumber Open WebUI. Lakukan langkah-langkah berikut:
Dalam contoh berikut, direktori kerja /home/ecs-user digunakan. Ganti direktori kerja berdasarkan skenario aktual Anda.
Instal Perangkat Lunak dan Lingkungan yang Diperlukan.
Instal Node.js.
Jalankan perintah berikut untuk menginstal Node.js:
sudo yum install -y nodejsCatatanJika terjadi kesalahan saat Anda menginstal Node.js menggunakan manajer paket, Anda dapat menginstal manajer modul npm dan menggunakan npm untuk menginstal versi Node.js yang ditentukan.
# Instal manajer modul npm. sudo yum install -y npm # Gunakan npm untuk menginstal versi Node.js yang ditentukan. sudo npm install 20.18.1Instal Miniforge3 dan konfigurasikan variabel lingkungannya.
Jalankan perintah berikut untuk menginstal Miniforge3 dan konfigurasikan variabel lingkungannya untuk mengelola lingkungan virtual Open WebUI:
# Dapatkan paket instalasi Miniforge3. wget https://github.com/conda-forge/miniforge/releases/download/24.11.3-2/Miniforge3-24.11.3-2-Linux-x86_64.sh # Instal Miniforge3 secara non-interaktif di direktori /home/ecs-user/miniforge3. bash Miniforge3-24.11.3-2-Linux-x86_64.sh -bu -p /home/ecs-user/miniforge3 # Konfigurasikan variabel lingkungan untuk Miniforge3. export PATH="/home/ecs-user/miniforge3/bin:$PATH"Inisialisasi Conda dan verifikasi informasi versinya.
Jalankan perintah berikut untuk menginisialisasi Conda dan verifikasi informasi versinya:
# Inisialisasi Conda. conda init source ~/.bashrc # Verifikasi informasi versinya conda --version
Kompilasi Kode Secara Manual di Open WebUI.
Unduh Plugin Pengukuran Keamanan TDX.
Jalankan perintah berikut untuk mengunduh plugin pengukuran keamanan TDX dan beralih ke cabang v1.2:
cd /home/ecs-user git clone https://github.com/intel/confidential-computing-zoo.git git config --global --add safe.directory /home/ecs-user/confidential-computing-zoo cd confidential-computing-zoo git checkout v1.2Tarik Kode Sumber Open WebUI.
Jalankan perintah berikut untuk menarik kode sumber Open WebUI dan beralih ke cabang v0.5.20:
cd /home/ecs-user git clone https://github.com/open-webui/open-webui.git # Beralih ke cabang tag:v0.5.20. git config --global --add safe.directory /home/ecs-user/open-webui cd /home/ecs-user/open-webui git checkout v0.5.20 # Tambahkan patch yang disediakan oleh CCZoo. Patch ini menambahkan fitur terkait pembuktian jarak jauh TDX ke Open WebUI. cd /home/ecs-user cp /home/ecs-user/confidential-computing-zoo/cczoo/confidential_ai/open-webui-patch/v0.5.20-feature-cc-tdx-v1.0.patch . git apply --ignore-whitespace --directory=open-webui/ v0.5.20-feature-cc-tdx-v1.0.patchBuat dan Aktifkan Lingkungan Open WebUI.
Jalankan perintah berikut untuk membuat lingkungan Open WebUI dan mengaktifkan lingkungan untuk menjalankan lingkungan Open WebUI yang telah dikompilasi:
conda create --name open-webui python=3.11 conda activate open-webuiInstal Plugin yang Digunakan untuk Mendapatkan TDX Quote.
cd /home/ecs-user/confidential-computing-zoo/cczoo/confidential_ai/tdx_measurement_plugin/ pip install Cython python setup.py installTunggu hingga perintah di atas selesai dijalankan. Kemudian, jalankan perintah berikut untuk memeriksa apakah plugin berhasil diinstal. Jika tidak ada kesalahan yang dikembalikan, instalasi berhasil.
python3 -c "import quote_generator"Kompilasi Kode di Open WebUI.
# Instal dependensi. cd /home/ecs-user/open-webui/ # Konfigurasikan sumber npm. npm config set registry http://registry.npmmirror.com sudo npm install # Kompilasi kode. sudo npm run buildTunggu hingga kompilasi selesai. Jalankan perintah berikut untuk menyalin folder hasil kompilasi ke direktori backend dan mengganti nama folder menjadi frontend:
rm -rf ./backend/open_webui/frontend cp -r build ./backend/open_webui/frontendCatatanPada titik ini, layanan pembuktian jarak jauh Alibaba Cloud telah dikonfigurasikan dalam kode yang dikompilasi di Open WebUI. Anda dapat menemukan informasi konfigurasi di direktori
/home/ecs-user/open-webui/external/acs-attest-client/index.js.Konfigurasikan File Boot untuk Layanan Backend Open WebUI.
Jalankan perintah berikut untuk mengonfigurasi file boot untuk layanan backend Open WebUI dan memberikan izin agar file boot dapat dieksekusi:
tee /home/ecs-user/open-webui/backend/dev.sh << 'EOF' # Tentukan port alamat layanan. Port default: 8080. PORT="${PORT:-8080}" uvicorn open_webui.main:app --port $PORT --host 0.0.0.0 --forwarded-allow-ips '*' --reload EOF # Berikan izin agar file boot dapat dieksekusi. chmod +x /home/ecs-user/open-webui/backend/dev.shInstal Pustaka Dependensi yang Diperlukan untuk Menjalankan Open WebUI.
cd /home/ecs-user/open-webui/backend/ pip install -r requirements.txt -U conda deactivate
Langkah 6: Jalankan Open WebUI dan verifikasi informasi otentikasi TDX
Jalankan LLM dan Mulai Layanan Open WebUI.
(Opsional Bersyarat) Jika layanan Ollama tidak berjalan, jalankan perintah berikut untuk memulainya:
ollama serveJalankan perintah berikut untuk menggunakan Ollama menjalankan model DeepSeek-R1:
ollama run deepseek-r1:70bJalankan perintah berikut untuk mengaktifkan lingkungan virtual Open WebUI:
conda activate open-webuiJalankan perintah berikut untuk memulai layanan backend Open WebUI:
cd /home/ecs-user/open-webui/backend && ./dev.shJika output perintah berikut dikembalikan, layanan backend Open WebUI telah dimulai sesuai harapan.
...... INFO [open_webui.env] Model embedding ditetapkan: sentence-transformers/all-MiniLM-L6-v2 /root/miniforge3/envs/open-webui/lib/python3.12/site-packages/pydub/utils.py:170: RuntimeWarning: Tidak dapat menemukan ffmpeg atau avconv - beralih ke ffmpeg, tetapi mungkin tidak bekerja warn("Tidak dapat menemukan ffmpeg atau avconv - beralih ke ffmpeg, tetapi mungkin tidak bekerja", RuntimeWarning) WARNI [langchain_community.utils.user_agent] Variabel lingkungan USER_AGENT tidak diatur, pertimbangkan untuk mengaturnya untuk mengidentifikasi permintaan Anda. ██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗ ██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║ ██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║ ██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║ ╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝ v0.5.20 - membangun antarmuka pengguna AI sumber terbuka terbaik. https://github.com/open-webui/open-webui
Akses Layanan Open WebUI Menggunakan Browser.
Tambahkan Aturan Grup Keamanan yang Mengizinkan Akses.
Temukan grup keamanan instance komputasi rahasia heterogen Anda dan tambahkan aturan yang mengizinkan klien mengakses port 8080. Untuk informasi lebih lanjut, lihat Tambahkan Aturan Grup Keamanan.
Akses Layanan Open WebUI Menggunakan Browser.
Buka browser lokal dan akses alamat berikut: http://{ip_address}:{port}. Ganti nilai parameter sesuai kebutuhan.
{ip_address}: Alamat IP publik instance tempat Open WebUI berada.
{port}: Port instance. Port default: 8080.
Jika pembuktian jarak jauh berhasil, tanda hijau akan muncul pada ikon pertama di sisi kanan kotak dialog. Gambar berikut menunjukkan tanda hijau. Sebaliknya, tanda merah akan muncul.
CatatanSetiap kali Anda mengklik New Chat, layanan backend secara otomatis mendapatkan data Quote dari lingkungan komputasi rahasia TDX, mengirimkan data tersebut ke layanan pembuktian jarak jauh, dan kemudian mengembalikan hasil otentikasi. Dalam keadaan awal, tanda ditampilkan dalam warna merah, yang menunjukkan bahwa pembuktian jarak jauh belum selesai atau gagal. Setelah pembuktian jarak jauh berhasil, tanda tersebut berubah menjadi hijau.
Verifikasi Informasi Otentikasi TDX.
Pindahkan pointer ke ikon pertama di sisi kanan kotak dialog untuk menampilkan informasi pembuktian yang diurai dari TDX Quote.

Anda dapat menggunakan alat pengembang browser Anda untuk melihat detailnya. Gambar berikut menunjukkan detail sampel.

FAQ
Apa yang harus saya lakukan jika kecepatan unduh paket perangkat lunak lambat saat pip digunakan untuk menginstal perangkat lunak?
Apa yang harus saya lakukan jika pesan kesalahan Tidak dapat menemukan paket muncul saat saya mengkompilasi kode di Open WebUI?
Referensi
Desain asli Open WebUI hanya mendukung HTTP. Untuk meningkatkan keamanan transmisi data, Anda dapat menggunakan Classic Load Balancer (CLB) Alibaba Cloud untuk mengonfigurasi otentikasi HTTPS. Untuk informasi lebih lanjut, lihat Konfigurasikan Otentikasi Satu Arah untuk Permintaan HTTPS.