Ingin menjalankan model Large Language Model (LLM) canggih di komputer Anda sendiri dengan skalabilitas fleksibel? Panduan ini akan membantu Anda mewujudkannya!
Prasyarat:
- Komputer (lokal atau cloud) dengan:
- Docker terinstal
- Git terinstal
- Kecepatan upload yang relatif cepat
- Minimal 100GB ruang penyimpanan kosong
- Model kustom di komputer Anda, atau tautan publik untuk mendapatkannya
- Catatan: Saat ini Anda tidak bisa membangun image Docker di RunPod!
- Panduan ini menggunakan contoh dari: https://github.com/runpod-workers/worker-a1111. Anda bisa membuat worker kustom sendiri, namun panduan ini akan menggunakan contoh tersebut untuk kemudahan.
- Pertama, buka direktori tempat Anda ingin bekerja dan jalankan perintah git clone untuk mengkloning repositori:
git clone https://github.com/runpod-workers/worker-a1111.git
- Perintah ini akan membuat direktori bernama “worker-a1111” di folder Anda. Akses direktori tersebut dengan:
cd worker-a1111
- Anda akan melihat beberapa file dan folder, di antaranya:
- Dockerfile (Instruksi untuk membangun image Docker)
- src/rp_handler.py (Kode Python yang dijalankan sebagai worker)
- src/start.sh (Skrip yang dijalankan saat container dimulai. Skrip ini memanggil handler dan memulai API AUTOMATIC1111 secara internal)
Mengganti Model Default dengan Model Kustom:
Untuk menggunakan model kustom, Anda perlu melakukan beberapa langkah:
- Hapus model lama dari image Docker.
- Tambahkan model kustom Anda.
- Ubah skrip start.sh untuk menunjuk ke model baru.
Model Lokal:
- Contoh ini menggunakan model civitai safetensors dari https://civitai.com/models/4823/deliberate.
- Jika model sudah diunduh secara lokal, simpan di direktori yang sama dan ubah namanya menjadi model.safetensors.
- Edit Dockerfile Anda dengan menambahkan baris berikut:
Dockerfile
ADD model.safetensors /
- Baris ini akan menambahkan file model Anda ke image Docker.
Unduh Model dari Internet:
- Jika ingin Docker mengunduh model selama proses build, gunakan perintah RUN wget sebagai ganti ADD:
Dockerfile
RUN wget -O /model.safetensors https://civitai.com/api/download/models/4823
Ubah Skrip start.sh:
- Skrip start.sh perlu menunjuk ke file model yang benar.
- Jika model Anda bernama model.safetensors dan berada di direktori yang sama, tidak perlu ada perubahan.
- Jika nama atau lokasinya berbeda, ubah baris
--ckpt /model.safetensors
di skrip start.sh agar sesuai.
Bangun Image Docker:
Setelah semua perubahan selesai, Anda bisa membangun image Docker dengan perintah:
Bash
sudo DOCKER_BUILDKIT=1 docker build .
Push Image ke Docker Hub (Opsional):
- Anda bisa mendaftarkan akun di https://hub.docker.com/ untuk berbagi image Docker Anda.
- Login ke Docker Hub di terminal dan push image Anda ke repository yang Anda buat.
Gunakan Template di RunPod:
- Setelah memiliki image Docker, Anda bisa membuat template di RunPod dan mengisinya dengan nama image yang telah Anda push.
Dokumentasi RunPod:
Pelajari dokumentasi RunPod untuk mengetahui cara deploy dan menggunakan API Anda:
- Penskalaan Otomatis: https://docs.runpod.io/serverless-ai/custom-apis/autoscaling
- Menggunakan API: https://docs.runpod.io/serverless-ai/custom-apis/using-your-api
Kesimpulan:
Meskipun API AUTOMATIC1111 default menawarkan kemudahan, pendekatan ini memungkinkan Anda menggunakan model kustom dan mengelola skalabilitasnya di RunPod.