Seiring semakin meluasnya penggunaan Large Language Models (LLMs), perusahaan banyak mengadopsi teknologi ini untuk meningkatkan kemampuan bisnis mereka. Akibatnya, pengelolaan model dan data pengguna secara aman menjadi sangat penting. Dokumen ini menjelaskan cara membangun lingkungan inferensi LLM yang mendukung pengukuran pada instans confidential computing heterogen.
Informasi latar belakang
Instans confidential computing heterogen Alibaba Cloud (gn8v-tee) memperluas kemampuan confidential computing berbasis CPU TDX dengan mengintegrasikan GPU ke dalam Trusted Execution Environment (TEE). Integrasi ini melindungi data saat transit antara CPU dan GPU serta data yang diproses di dalam GPU. Dokumen ini menyediakan solusi untuk mengintegrasikan pengukuran keamanan Intel TDX dan fitur remote attestation ke dalam layanan inferensi LLM. Pendekatan ini membangun alur kerja keamanan dan privasi yang kuat untuk layanan LLM, memastikan keamanan dan integritas model serta data pengguna sepanjang siklus hidup layanan dengan mencegah akses tidak sah.
Solusi ini didasarkan pada dua prinsip desain inti:
Kerahasiaan: Memastikan bahwa model dan data pengguna hanya diproses di dalam batas keamanan rahasia instans, mencegah eksposur data teks biasa ke luar.
Integritas: Menjamin bahwa semua komponen dalam lingkungan layanan inferensi LLM—termasuk framework inferensi, file model, dan antarmuka interaktif—tidak dapat dimanipulasi. Hal ini juga mendukung proses audit dan verifikasi pihak ketiga yang ketat.
Arsitektur teknis
Diagram berikut menunjukkan arsitektur teknis keseluruhan solusi ini di Alibaba Cloud.
Komponen dalam arsitektur ini dijelaskan di bawah ini.
Klien
Ini adalah antarmuka pengguna (UI) yang digunakan pengguna akhir untuk mengakses layanan LLM. Klien memulai sesi, memverifikasi keandalan layanan jarak jauh, dan berkomunikasi secara aman dengan backend.
Layanan remote attestation
Berdasarkan layanan remote attestation Alibaba Cloud, komponen ini memverifikasi status keamanan lingkungan layanan inferensi model. Ini mencakup Trusted Computing Base (TCB) platform dan lingkungan layanan inferensi model itu sendiri.
Komponen layanan inferensi
Ollama: Framework layanan model yang menangani permintaan layanan inferensi. Solusi ini menggunakan versi
v0.5.7.Model DeepSeek: Solusi ini menggunakan versi distilasi DeepSeek-R1-70B (kuantisasi int4).
Open WebUI: Antarmuka interaktif berbasis web yang berjalan di dalam VM rahasia dan menerima permintaan layanan model pengguna melalui RESTful API. Solusi ini menggunakan versi
v0.5.20.Proyek open-source CCZoo: Solusi ini menggunakan kode sumber Confidential AI dari proyek ini, khususnya versi
v1.2. Untuk informasi lebih lanjut tentang proyek ini, lihat CCZoo.
Confidential Computing Zoo (CCZoo) adalah kumpulan solusi keamanan untuk skenario komputasi awan, dirancang untuk membantu developer membangun solusi confidential computing end-to-end mereka sendiri dengan lebih mudah. Teknologi keamanannya mencakup Trusted Execution Environments (TEEs) seperti Intel® SGX dan TDX, Homomorphic Encryption (HE) dan akselerasi perangkat kerasnya, remote attestation, LibOS, serta kriptografi dengan akselerasi perangkat keras. Skenario bisnisnya mencakup inferensi AI cloud-native, pembelajaran terfederasi, analitik data besar, manajemen kunci, dan Remote Procedure Calls (RPCs) seperti gRPC.
Alur kerja
Alur kerja spesifik solusi ini adalah sebagai berikut.

Startup layanan dan pengukuran
Modul TCB platform melakukan pengukuran integritas lingkungan runtime layanan model. Hasil pengukuran disimpan dalam Modul TDX, yang berada di dalam TCB.
Inisialisasi sesi inferensi
Klien (browser) memulai permintaan sesi baru ke Open WebUI.
Remote attestation
Permintaan attestation: Saat klien memulai sesi, klien juga meminta TDX Quote. Quote ini berfungsi sebagai bukti keandalan lingkungan runtime model dan digunakan untuk memverifikasi lingkungan layanan jarak jauh, termasuk layanan manajemen sesi pengguna (Open WebUI) dan layanan model (Ollama + DeepSeek).
Generasi Quote: Backend Open WebUI meneruskan permintaan attestation ke Confidential VM berbasis Intel TDX. Di dalam VM, TDX Quote yang mencakup rantai sertifikat lengkap dihasilkan oleh perangkat keras CPU.
Verifikasi Quote: Klien mengirimkan Quote yang diterima ke layanan remote attestation untuk diverifikasi. Layanan ini memvalidasi keaslian Quote dengan memeriksa tanda tangan digital, rantai sertifikat, dan kebijakan keamanan. Layanan tersebut kemudian mengembalikan hasil yang menegaskan keamanan dan integritas lingkungan layanan model jarak jauh.
Layanan inferensi LLM rahasia
Attestation berhasil: Klien dapat sepenuhnya mempercayai layanan model jarak jauh karena berjalan dalam mode yang sangat aman dan tepercaya. Jaminan ini berarti pengguna akhir menghadapi risiko kebocoran data yang sangat rendah, meskipun tidak ada sistem yang benar-benar bebas risiko.
Attestation gagal: Layanan attestation mengembalikan error, menunjukkan bahwa remote attestation gagal. Pengguna atau sistem dapat memilih untuk membatalkan permintaan layanan berikutnya. Atau, layanan dapat dilanjutkan setelah peringatan dikeluarkan mengenai potensi risiko keamanan. Namun, layanan model jarak jauh mungkin terpapar risiko keamanan data.
Prosedur
Langkah 1: Buat instans confidential computing heterogen
Data model yang diunduh oleh Ollama disimpan ke direktori /usr/share/ollama/.ollama/models. Karena file model biasanya berukuran besar (misalnya, model DeepSeek-R1 70b terkuantisasi berukuran sekitar 40 GB), pertimbangkan ukuran model yang akan dijalankan saat membuat instans dan pilih kapasitas Cloud Disk yang sesuai. Kapasitas dua hingga tiga kali ukuran file model direkomendasikan.
Konsol ECS
Langkah-langkah untuk membuat instans dengan fitur confidential computing heterogen di konsol mirip dengan membuat instans biasa. Namun, Anda harus memilih opsi tertentu. Bagian ini menyoroti konfigurasi spesifik untuk instans confidential computing heterogen. Untuk informasi tentang konfigurasi umum lainnya, lihat Create an instance using the wizard.
Buka ECS console - Instances.
Di bilah navigasi atas, pilih wilayah dan kelompok sumber daya dari resource yang ingin Anda kelola.
Klik Create Instance dan konfigurasikan instans dengan pengaturan berikut.
Item Konfigurasi
Deskripsi
Wilayah dan Zona
China (Beijing) Zona L
Tipe Instans
Hanya tipe instans ecs.gn8v-tee.4xlarge dan yang lebih tinggi yang didukung.
Citra
Pilih citra Alibaba Cloud Linux 3.2104 LTS 64-bit.
Alamat IP Publik
Assign Public IPv4 Address. Ini memastikan Anda dapat mengunduh driver dari situs web resmi NVIDIA nanti.
PentingSaat membuat instans rahasia 8-GPU, jangan tambahkan elastic network interfaces (ENIs) sekunder ekstra. Melakukannya dapat mencegah instans berjalan.
Ikuti petunjuk di layar untuk menyelesaikan pembuatan instans.
OpenAPI atau CLI
Anda dapat memanggil operasi RunInstances atau menggunakan Alibaba Cloud CLI untuk membuat instans ECS yang mendukung atribut keamanan TDX. Tabel berikut menjelaskan parameter yang diperlukan.
Parameter | Deskripsi | Contoh |
RegionId | China (Beijing) | cn-beijing |
ZoneId | Zona L | cn-beijing-l |
InstanceType | Pilih ecs.gn8v-tee.4xlarge atau tipe instans yang lebih besar. | ecs.gn8v-tee.4xlarge |
ImageId | Tentukan ID citra yang mendukung confidential computing. Hanya citra 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:
Dalam perintah ini,<SECURITY_GROUP_ID>merepresentasikan ID grup keamanan,<VSWITCH_ID>merepresentasikan ID vSwitch, dan<KEY_PAIR_NAME>merepresentasikan nama pasangan kunci SSH.
aliyun ecs RunInstances \
--RegionId cn-beijing \
--ZoneId cn-beijing-l \
--SystemDisk.Category cloud_essd \
--ImageId 'aliyun_3_x64_20G_alibase_20250117.vhd' \
--InstanceType 'ecs.gn8v-tee.4xlarge' \
--SecurityGroupId '<SECURITY_GROUP_ID>' \
--VSwitchId '<VSWITCH_ID>' \
--KeyPairName <KEY_PAIR_NAME>Langkah 2: Bangun lingkungan remote attestation TDX
TDX Report adalah struktur data yang dihasilkan oleh perangkat keras CPU untuk merepresentasikan identitas instans yang mendukung TDX. TDX Report mencakup informasi kritis tentang instans yang mendukung TDX, seperti attributes (ATTRIBUTES), runtime-extendable measurement registers (RTMR), dan trusted-computing base (TCB) security-version number (SVN). TDX Report menggunakan metode kriptografis untuk memastikan integritas informasi. Untuk informasi lebih lanjut, lihat Intel TDX Module.
Impor repositori perangkat lunak YUM untuk confidential computing Alibaba Cloud.
URL publik repositori perangkat lunak YUM memiliki format berikut:
https://enclave-[Region-ID].oss-[Region-ID].aliyuncs.com/repo/alinux/enclave-expr.repo.URL internal repositori perangkat lunak YUM memiliki format 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 instans yang mendukung TDX. Anda hanya dapat membuat instans 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 contoh.
sudo yum groupinstall -y "Development Tools" sudo yum install -y sgxsdk libtdx-attest-develKonfigurasikan layanan remote attestation TDX Alibaba Cloud.
Tentukan parameter
PCCS_URLdalam file/etc/sgx_default_qcnl.conf. Anda hanya dapat menentukan parameter PCCS_URL untuk mengarah 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
Jalankan perintah berikut untuk menginstal Ollama.
curl -fsSL https://ollama.com/install.sh | shCatatanSkrip di atas adalah skrip instalasi resmi yang disediakan oleh Ollama. Jika instalasi gagal karena masalah jaringan, Anda dapat merujuk ke situs web resmi Ollama dan memilih metode instalasi alternatif. Untuk detailnya, lihat panduan instalasi Ollama.
Langkah 4: Unduh dan jalankan DeepSeek-R1 menggunakan Ollama
Karena file model berukuran besar dan membutuhkan waktu lama untuk diunduh, gunakan alat tmux untuk mempertahankan sesi Anda dan mencegah unduhan terganggu.
Instal alat tmux.
Jalankan perintah berikut untuk menginstal
tmux.sudo yum install -y tmuxUnduh dan jalankan DeepSeek-R1 menggunakan Ollama.
Jalankan perintah berikut untuk membuat sesi
tmuxdan kemudian mengunduh serta menjalankan model DeepSeek-R1 dalam sesi tersebut.# Buat sesi tmux bernama run-deepseek tmux new -s "run-deepseek" # Unduh dan jalankan model deepseek-r1 dalam sesi tmux ollama run deepseek-r1:70bOutput berikut menunjukkan bahwa model telah berhasil diunduh dan dijalankan. Anda dapat memasukkan
/byeuntuk keluar dari sesi model interaktif....... verifying sha256 digest writing manifest success >>> >>> Send a message (/? for help)(Opsional) Hubungkan kembali ke sesi tmux.
Jika Anda perlu menghubungkan kembali ke sesi
tmuxsetelah koneksi jaringan terputus, jalankan perintah berikut.tmux attach -t run-deepseek
Langkah 5: Kompilasi Open WebUI
Untuk mengaktifkan pengukuran keamanan TDX di Open WebUI, unduh plugin TDX dan kompilasi Open WebUI dari source.
Contoh berikut menggunakan /home/ecs-user sebagai direktori kerja. Gantilah dengan direktori kerja aktual Anda.
Instal dependensi dan lingkungan yang diperlukan
Instal Node.js.
Jalankan perintah berikut untuk menginstal Node.js.
sudo yum install -y nodejsCatatanJika Anda mengalami masalah menginstal Node.js dengan manajer paket, coba gunakan nvm (Node Version Manager) untuk menginstal versi Node.js tertentu.
# Unduh dan instal nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash # Muat variabel lingkungan nvm source ~/.bashrc # Instal Node.js versi 20.18.1 nvm install 20.18.1 # Gunakan versi ini nvm use 20.18.1 # Verifikasi versi node --versionInstal Miniforge3 dan konfigurasikan variabel lingkungannya.
Jalankan perintah berikut untuk menginstal Miniforge3 dan mengonfigurasi 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 ke direktori /home/ecs-user/miniforge3 bash Miniforge3-24.11.3-2-Linux-x86_64.sh -bu -p /home/ecs-user/miniforge3 # Tetapkan variabel lingkungan untuk Miniforge3 export PATH="/home/ecs-user/miniforge3/bin:$PATH"Inisialisasi Conda dan verifikasi versinya.
Jalankan perintah berikut untuk menginisialisasi Conda dan memverifikasi versinya.
# Inisialisasi Conda conda init source ~/.bashrc # Verifikasi informasi versi conda --version
Kompilasi Open WebUI secara manual.
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.2Ambil kode sumber Open WebUI.
Jalankan perintah berikut untuk mengambil 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 # Gabungkan patch yang disediakan oleh CCZoo, yang menambahkan fitur remote attestation 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 dan mengaktifkan lingkungan
open-webui, yang akan digunakan untuk menjalankan Open WebUI yang dikompilasi.conda create --name open-webui python=3.11 conda activate open-webuiInstal plugin "Get TDX Quote".
cd /home/ecs-user/confidential-computing-zoo/cczoo/confidential_ai/tdx_measurement_plugin/ pip install Cython python setup.py installSetelah perintah selesai, jalankan perintah berikut untuk memverifikasi instalasi. Jika tidak ada output error, instalasi berhasil.
python3 -c "import quote_generator"Kompilasi 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 sudo npm run buildSetelah kompilasi selesai, jalankan perintah berikut untuk menyalin folder
buildyang dihasilkan ke direktoribackenddan ubah namanya menjadifrontend.rm -rf ./backend/open_webui/frontend cp -r build ./backend/open_webui/frontendCatatanPada titik ini, layanan remote attestation Alibaba Cloud telah berhasil dikonfigurasi dalam Open WebUI yang dikompilasi. Anda dapat menemukan informasi konfigurasi terkait dalam file
/home/ecs-user/open-webui/external/acs-attest-client/index.js.Konfigurasikan file startup layanan backend Open WebUI.
Jalankan perintah berikut untuk mengonfigurasi file startup untuk layanan backend Open WebUI dan berikan izin eksekusi.
tee /home/ecs-user/open-webui/backend/dev.sh << 'EOF' #Setel alamat dan port layanan. Port default adalah 8080. PORT="${PORT:-8080}" uvicorn open_webui.main:app --port $PORT --host 0.0.0.0 --forwarded-allow-ips '*' --reload EOF # Tambahkan izin eksekusi ke file startup chmod +x /home/ecs-user/open-webui/backend/dev.shInstal 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 attestation TDX
Jalankan LLM dan mulai layanan Open WebUI.
(Opsional) Jika layanan Ollama tidak berjalan, Anda dapat memulainya dengan menjalankan perintah berikut.
ollama serveJalankan perintah berikut untuk menjalankan model DeepSeek-R1 dengan Ollama.
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.shOutput berikut menunjukkan bahwa layanan backend Open WebUI telah berhasil dimulai.
...... INFO [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2 /root/miniforge3/envs/open-webui/lib/python3.12/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests. ██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗ ██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║ ██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║ ██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║ ╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║ ═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝ v0.5.20 - building the best open-source AI user interface. https://github.com/open-webui/open-webui
Akses layanan Open WebUI dari browser.
Tambahkan aturan grup keamanan.
Di grup keamanan instans confidential computing heterogen Anda, tambahkan aturan untuk mengizinkan akses klien ke port 8080. Untuk petunjuk detail, lihat Add a security group rule.
Akses layanan Open WebUI dari browser.
Buka browser lokal dan arahkan ke alamat berikut:
http://{ip_address}:{port}. Ganti parameter dengan nilai spesifik Anda.{ip_address}: Alamat IP publik instans tempat Open WebUI berjalan.
{port}: Nomor port default adalah 8080.
Jika remote attestation berhasil, tanda centang hijau akan muncul pada ikon pertama di kotak dialog, seperti yang ditunjukkan pada gambar di bawah. Jika tidak, ikon akan berwarna merah.
CatatanSetiap kali Anda mengklik New Chat, backend mengambil Quote lingkungan TDX, mengirimkannya untuk remote attestation, dan menampilkan hasilnya. Ikon berwarna merah secara default (attestation belum lengkap atau gagal) dan berubah menjadi hijau jika attestation berhasil.
Verifikasi informasi atestasi TDX.
Anda dapat mengarahkan kursor mouse ke ikon pertama di kotak dialog untuk melihat informasi autentikasi detail yang diurai dari TDX Quote.

Anda juga dapat melihat informasi detail menggunakan alat developer browser Anda. Outputnya akan mirip dengan contoh berikut.

FAQ
Kecepatan unduh paket lambat saat menggunakan pip
"Cannot find package" error saat mengompilasi Open WebUI
Referensi
Open WebUI secara native hanya dirancang untuk mendukung protokol HTTP. Untuk mengamankan data saat transit, deploy autentikasi HTTPS dengan Alibaba Cloud SLB. Untuk petunjuknya, lihat Configure one-way authentication for HTTPS requests.