Kursus
DeepSeek, sebuah startup AI dari Tiongkok, telah mengguncang industri AI global, menghapus nilai US$1 triliun dari bursa saham AS dan menggoyang raksasa teknologi seperti Nvidia dan OpenAI. Perusahaan ini dengan cepat muncul sebagai pemimpin dalam generasi teks, penalaran, model visi, dan pembuatan gambar. DeepSeek baru-baru ini meluncurkan model mutakhir, termasuk Janus, model multimodal yang mampu memahami data visual dan menghasilkan gambar dari teks.

Gambar oleh Penulis
Dalam tutorial ini, kita akan mempelajari Janus Series, menyiapkan proyek Janus, membangun container Docker untuk menjalankan model secara lokal, dan menguji kemampuannya dengan berbagai prompt gambar dan teks.
Pelajari model DeepSeek yang mengganggu industri AI global:
- DeepSeek-V3: Panduan dengan Proyek Demo
- DeepSeek-R1: Fitur, Perbandingan o1, Model Distilled & Lainnya
Apa itu DeepSeek Janus-Series?
DeepSeek Janus-Series adalah lini baru model multimodal yang dirancang untuk menyatukan tugas pemahaman dan pembuatan visual menggunakan kerangka kerja inovatif. Seri ini mencakup Janus, JanusFlow, dan Janus-Pro yang lebih canggih, masing-masing dibangun di atas iterasi sebelumnya dengan peningkatan signifikan dalam efisiensi, performa, dan kapabilitas multimodal.
1. Janus
Janus adalah kerangka autoregresif yang inovatif yang memisahkan pengodean visual ke jalur berbeda untuk tugas pemahaman dan pembuatan, sambil menggunakan arsitektur transformer terpadu. Pendekatan ini menyelesaikan konflik antara kedua peran tersebut, meningkatkan fleksibilitas dan efektivitas. Janus menandingi atau melampaui model khusus tugas, menjadikannya kandidat kuat untuk sistem multimodal generasi berikutnya.
2. JanusFlow
JanusFlow menggabungkan pemodelan bahasa autoregresif dengan rectified flow, teknik pemodelan generatif mutakhir. Desain minimalisnya memungkinkan pelatihan mudah dalam kerangka model bahasa besar tanpa perlu modifikasi rumit. JanusFlow menunjukkan performa unggul pada tolok ukur dibandingkan pendekatan khusus maupun terpadu, secara efektif mendorong batas pemodelan visi-bahasa.
3. Janus-Pro
Janus-Pro menyempurnakan model sebelumnya dengan memperkenalkan strategi pelatihan yang dioptimalkan, memperluas dataset pelatihan, dan penskalaan ke ukuran model yang lebih besar. Peningkatan ini secara signifikan meningkatkan pemahaman multimodal dan kemampuan mengikuti instruksi teks-ke-gambar sekaligus memastikan generasi teks-ke-gambar yang lebih stabil.

Sumber: deepseek-ai/Janus
Baca Janus-Pro dari DeepSeek: Fitur, Perbandingan DALL-E 3 & Lainnya untuk mempelajari lebih lanjut tentang seri Janus, cara mengaksesnya, dan bagaimana perbandingannya dengan DALL-E 3 dari OpenAI.
Menyiapkan Proyek Janus
Janus adalah model yang relatif baru, dan saat ini belum ada versi terkuantisasi atau aplikasi AI lokal yang tersedia untuk penggunaan mudah di laptop atau desktop.
Namun, repositori Janus di GitHub menyediakan demo aplikasi web Gradio yang sangat baik untuk dicoba siapa saja. Tantangannya, demo tersebut sering gagal berjalan karena banyak konflik paket.
Untuk mengatasi masalah ini, dalam proyek ini, kita akan memodifikasi kode asli, membangun image Docker kita sendiri, dan menjalankan container secara lokal menggunakan aplikasi Docker Desktop.
1. Instal Docker Desktop
Untuk memulai, unduh dan instal versi terbaru Docker Desktop dari situs resmi Docker.
Catatan untuk pengguna Windows:
Jika Anda menggunakan Windows, Anda juga perlu menginstal Windows Subsystem for Linux (WSL). Buka terminal dan jalankan perintah berikut untuk menginstal WSL:
wsl --install
2. Clone repositori Janus
Selanjutnya, clone repositori Janus dari GitHub dan masuk ke direktori proyek:
git clone https://github.com/deepseek-ai/Janus.git
cd Janus
3. Modifikasi kode demo
Masuk ke folder demo dan buka file app_januspro.py di editor kode pilihan Anda. Lakukan perubahan berikut:
- Ubah nama model: Ganti
deepseek-ai/Janus-Pro-7Bdengandeepseek-ai/Janus-Pro-1B.
Ini akan memuat versi model yang lebih ringan, yang hanya berukuran 4,1 GB, sehingga lebih cocok untuk penggunaan lokal.

- Perbarui baris terakhir skrip: Ubah fungsi
demo.queuemenjadi seperti berikut:
demo.queue(concurrency_count=1, max_size=10).launch(
server_name="0.0.0.0", server_port=7860
)

Perubahan ini memastikan kompatibilitas dengan URL dan port Docker.
4. Buat image Docker
Untuk melakukan containerization aplikasi, buat Dockerfile di direktori root proyek. Gunakan konten berikut untuk Dockerfile:
# Use the PyTorch base image
FROM pytorch/pytorch:latest
# Set the working directory inside the container
WORKDIR /app
# Copy the current directory into the container
COPY . /app
# Install necessary Python packages
RUN pip install -e .[gradio]
# Set the entrypoint for the container to launch your Gradio app
CMD ["python", "demo/app_januspro.py"]
Dockerfile ini akan:
- Membuat image Docker menggunakan image dasar PyTorch.
- Mengatur direktori kerja di dalam container.
- Menyalin semua file yang diperlukan dari mesin lokal Anda ke direktori /app di dalam container Docker.
- Menginstal semua dependensi yang dibutuhkan aplikasi.
- Terakhir, meluncurkan aplikasi Gradio di dalam container.
Membangun dan Menjalankan Image Docker
Setelah Dockerfile siap, kita akan membangun image Docker dan menjalankan container.
Anda dapat mengikuti kursus Introduction to Docker untuk mempelajari dasar-dasar membangun dan menerapkan image Docker.
Ketik perintah berikut di terminal untuk membuat image Docker. Perintah ini akan menggunakan Dockerfile di folder root dan memberikan nama janus pada image:
docker build -t janus .
Proses membangun image dari awal memakan waktu 10 hingga 15 menit, tergantung kecepatan internet Anda.

Perintah berikut memulai container Docker untuk aplikasi Janus. Ini mengaktifkan dukungan GPU, memetakan port 7860 untuk mengakses aplikasi Gradio, dan memastikan penyimpanan persisten untuk file model Hugging Face.
docker run -it -p 7860:7860 -d -v huggingface:/root/.cache/huggingface -w /app --gpus all --name janus janus:latest
Jika Anda membuka aplikasi Docker Desktop dan masuk ke tab “Containers”, Anda akan melihat container janus sedang berjalan. Namun, ini belum siap digunakan.

Untuk memeriksa progresnya, klik container janus lalu buka tab “Logs”. Di sini, Anda akan melihat container sedang mengunduh file model dari Hugging Face Hub.

Setelah model berhasil diunduh, log akan menampilkan pesan bahwa aplikasi sedang berjalan.

Anda kemudian dapat mengakses aplikasi Anda dengan mengunjungi URL berikut di peramban: http://localhost:7860/.
Jika Anda mengalami masalah, silakan periksa versi Janus yang diperbarui di kingabzpro/Janus: Janus-Series.
Menguji Model Janus Pro
Aplikasi web memiliki antarmuka yang bersih, dan semuanya tampak berjalan mulus. Pada bagian ini, kita akan menguji kemampuan pemahaman multimodal dan pembuatan gambar dari teks pada Janus Pro.
Menguji pemahaman multimodal
Untuk mengevaluasi pemahaman multimodal model, pertama-tama kita memuat gambar dari tutorial DataCamp dan meminta model menjelaskannya. Hasilnya mengesankan—bahkan dengan model 1B yang lebih kecil, responsnya sangat akurat dan detail.

Berikutnya, kita memuat gambar lain dan meminta model untuk meringkas konten sebuah infografik. Model berhasil memahami teks di dalam gambar dan memberikan respons yang sangat akurat dan koheren. Ini menunjukkan kemampuan kuat model dalam memproses dan menafsirkan elemen visual dan tekstual sekaligus.

Menguji pembuatan gambar dari teks
Gulir ke bawah aplikasi, Anda akan menemukan bagian “Text-to-Image Generation”. Di sini, Anda dapat memasukkan prompt pilihan dan mengklik tombol “Generate Images”. Model menghasilkan lima variasi gambar, yang mungkin membutuhkan beberapa menit untuk selesai.

Hasilnya luar biasa, menghasilkan keluaran yang sebanding dengan Stable Diffusion XL dari segi kualitas dan detail.
Anda dapat mempelajari cara Fine-tune Stable Diffusion XL dengan DreamBooth dan LoRA pada gambar pribadi Anda.

Mari coba prompt lain:
Prompt:
“Gambar menampilkan mata yang dirancang dengan rumit di latar bundar yang dihiasi pola pusaran ornamen yang memadukan realisme dan surealisme. Pusat perhatian adalah iris biru yang sangat mencolok, dikelilingi urat-urat halus yang memancar dari pupil untuk menciptakan kedalaman dan intensitas. Bulu matanya panjang dan gelap, menimbulkan bayangan halus pada kulit di sekitarnya, yang tampak halus namun sedikit bertekstur seolah menua atau lapuk seiring waktu.
Di atas mata, terdapat struktur seperti batu yang menyerupai bagian dari arsitektur klasik, menambah lapisan misteri dan keanggunan abadi pada komposisi. Elemen arsitektural ini berkontras tajam namun selaras dengan lengkungan organik di sekelilingnya. Di bawah mata terdapat motif dekoratif lain yang mengingatkan pada seni barok, semakin memperkuat kesan keabadian yang terwujud dalam setiap detail yang dibuat dengan cermat.
Secara keseluruhan, suasananya memancarkan aura misterius yang berpadu mulus dengan elemen-elemen yang menyiratkan keabadian, dicapai melalui pertautan tekstur realistis dan sentuhan artistik surealis. Setiap komponen—mulai dari desain rumit yang membingkai mata hingga potongan batu yang tampak kuno di atasnya—memberi kontribusi unik dalam menciptakan tableau yang memikat secara visual dan sarat daya pikat enigmatis.”

Sekali lagi, hasilnya menakjubkan. Gambar yang dihasilkan menangkap detail rumit dan unsur artistik surealis seperti yang dideskripsikan dalam prompt.
Kesimpulan
Untuk menguji kapabilitas penuh model, DeepSeek telah menerapkan versi yang sama dari aplikasi web di Hugging Face Spaces. Anda dapat mengaksesnya di Chat With Janus-Pro-7B. Salah satu fitur unggulan model Janus Pro adalah akurasinya yang tinggi, bahkan saat menggunakan varian yang lebih kecil seperti model 1B.
Dalam tutorial ini, kita mengeksplorasi Janus Pro, model multimodal yang mampu memahami gambar dan menghasilkan gambar dari prompt teks. Selain itu, kita membangun solusi lokal sendiri untuk menggunakan model secara privat di GPU laptop. Penyiapan ini cepat, efisien, dan memungkinkan Anda bereksperimen secara leluasa dengan sumber daya terbatas.
Lihat panduan terbaru kami tentang Fine-Tuning DeepSeek R1 (Reasoning Model). Anda akan mempelajari cara melatih model penalaran pada dataset chain of thought medis untuk membangun dokter AI yang lebih baik di masa depan.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.

