Kursus

Dalam postingan ini, kita akan membahas lima proyek AI generatif yang akan membantu Anda membangun dan memperkuat portofolio machine learning dan data science. Proyek-proyek ini dirancang untuk meningkatkan pemahaman Anda tentang teknologi mutakhir seperti Stable Diffusion, Segment Anything, LangChain, Alpaca-LoRA, dan lainnya.
Baik Anda baru mengenal AI generatif maupun sudah berpengalaman, proyek-proyek ini akan membekali Anda dengan keterampilan berharga yang dapat membuat Anda menonjol dalam lamaran kerja dan wawancara.
Anda dapat mempelajari seri GPT, termasuk GPT-1, GPT-2, GPT-3, dan GPT-4, dengan meninjau artikel 'What is GPT-4 and Why Does it Matter?' Anda juga dapat melihat beberapa proyek AI lainnya dalam postingan terpisah.
1. StableSAM: Inpainting Stable Diffusion dengan Segment Anything
Pada proyek ini, Anda akan menggunakan segment-anything dari Meta, diffusers dari Hugging Face, dan Gradio untuk membuat aplikasi yang dapat mengubah latar belakang, wajah, pakaian, atau bagian lain mana pun yang Anda pilih. Ia hanya membutuhkan gambar, area yang dipilih, dan prompt.
Use case:
StableSAM sangat cocok untuk profesional kreatif di industri pemasaran digital, desain, dan hiburan. Alat ini memungkinkan pengguna mengedit bagian-bagian spesifik dari gambar dengan presisi, ideal untuk tugas seperti mengganti latar belakang, mengubah pakaian, atau memodifikasi objek dalam materi promosi. Bagi penghobi, ini adalah alat yang fantastis untuk kustomisasi gambar tanpa perlu keterampilan desain tingkat lanjut.
Keterampilan yang akan Anda pelajari:
- Mengimplementasikan pipeline inpainting gambar menggunakan Stable Diffusion
- Bekerja dengan Segment Anything Model (SAM) dari Meta untuk segmentasi gambar
- Membuat aplikasi web interaktif dengan Gradio
- Menggunakan diffusers Hugging Face untuk deployment model
Membuat Pipeline Inpainting Stable Diffusion
Kita akan membuat pipeline Inpainting Stable Diffusion menggunakan diffuser dan bobot model yang tersedia di stabilityai/stable-diffusion-2-inpainting · Hugging Face. Setelah itu, kita akan menambahkannya ke CUDA untuk akselerasi GPU.
Mendefinisikan Mask Gambar dan Fungsi Inpainting
Fungsi mask gambar dibuat menggunakan SAM Predictor. Fungsi ini menerima sebuah gambar, bagian gambar yang dipilih, dan nilai boolean is_backgroud untuk membuat gambar termask dan segmentasi.
Setelah itu, fungsi inpainting menggunakan pipeline Stable Diffusion Inpainting untuk mengubah bagian-bagian gambar yang dipilih. Pipeline memerlukan gambar input, gambar termask, gambar tersegmentasi, teks prompt, dan teks prompt negatif.
Membuat UI Gradio
Anda akan membuat satu baris dan menambahkan tiga blok gambar. Untuk produk minimal yang layak, Anda harus menambahkan baris lain dengan tombol submit. Setelah itu, Anda harus memodifikasi objek gambar input untuk memilih piksel, menghasilkan mask dan segmentasi, serta menambahkan aksi pada tombol submit untuk menjalankan fungsi inpainting.
Gradio cukup mudah dipelajari. Anda dapat mempelajarinya dengan membaca Dokumentasi Gradio.
Versi StableSAM yang Ditingkatkan
Versi StableSAM yang ditingkatkan tersedia di Hugging Face, yang mencakup pipeline inpainting khusus yang menggunakan ControlNet. Versi ini menggunakan Runway ML Stable Diffusion Inpainting, bukan Stability AI.

Seperti yang Anda lihat, versi akhir aplikasi terlihat rapi dengan blok segmentasi, tombol bersihkan, opsi latar belakang, dan prompt negatif.

Sumber daya:
- Demo Hugging Face: StableSAM
- Tutorial Youtube: Stable Diffusion Inpainting dengan Segment Anything Model (SAM)
2. Alpaca-LoRA: Bangun Chatbot Mirip ChatGPT dengan Sumber Daya Minimal
Alpaca-LoRA menyediakan semua komponen yang diperlukan bagi Anda untuk membuat chatbot khusus mirip ChatGPT menggunakan satu GPU. Dalam proyek ini, kita akan melihat penyiapan awal, pelatihan, skrip inferensi, dan klien native untuk menjalankan inferensi di CPU.
Use case:
Proyek ini sangat bagus bagi mereka yang tertarik membangun sistem AI percakapan yang disesuaikan. Baik Anda membuat chatbot layanan pelanggan untuk usaha kecil atau mengembangkan asisten pribadi, Alpaca-LoRA menyediakan cara efisien untuk melatih chatbot khusus dengan sumber daya komputasi terbatas. Proyek ini ideal untuk bereksperimen dengan fine-tuning model bahasa secara hemat biaya.
Keterampilan yang akan Anda pelajari:
- Fine-tuning model bahasa dengan LoRA pada satu GPU
- Menyiapkan dan menggunakan dataset Stanford Alpaca
- Menjalankan skrip inferensi pada lingkungan bersumber daya rendah (misalnya, Raspberry Pi)
- Menyebarkan antarmuka chatbot berbasis Gradio
- Memahami bagaimana model bahasa besar seperti LLaMA dilatih dan dioptimalkan
Penyiapan Lokal
- Klon repositori: tloen/alpaca-lora
- Instal dependensi menggunakan
pip install -r requirements.txt - Jika bitsandbytes tidak berfungsi, instal dari sumber.
Pelatihan
Pada bagian ini, kita akan melihat skrip fine-tuning yang dapat Anda jalankan pada model LLaMA menggunakan model Stanford Alpaca yang telah dibersihkan.
Anda dapat melihat repositori untuk menyetel hyperparameter agar performanya lebih baik.
python finetune.py \
--base_model 'decapoda-research/llama-7b-hf' \
--data_path 'yahma/alpaca-cleaned' \
--output_dir './lora-alpaca'
Inferensi
Skrip inferensi membaca model dasar LLaMA dari Hugging Face dan memuat bobot LoRA untuk menjalankan antarmuka Gradio.
python generate.py \
--load_8bit \
--base_model 'decapoda-research/llama-7b-hf' \
--lora_weights 'tloen/alpaca-lora-7b'
Anda juga dapat menggunakan alpaca.cpp untuk menjalankan model alpaca di CPU atau Raspberry Pi 4 dengan RAM 4GB. Selain itu, Anda dapat menggunakan Alpaca-LoRA-Serve untuk membuat antarmuka gaya ChatGPT, seperti yang ditunjukkan di bawah ini.

Sumber daya:
- GitHub: tloen/alpaca-lora
- Kartu Model: tloen/alpaca-lora-7b
- Demo Hugging Face: Alpaca-LoRA-Serve
- Antarmuka gaya ChatGPT: Alpaca-LoRA-Serve
- Dataset Alpaca: AlpacaDataCleaned
3. Otomatisasi Interaksi PDF dengan LangChain dan ChatGPT
Buat klon ChatPDF Anda sendiri menggunakan pemuat PDF LangChain, OpenAI Embeddings, dan GPT-3.5. Anda akan membuat chatbot yang dapat berkomunikasi dengan buku, dokumen hukum, dan dokumen PDF penting lainnya.
Use case:
Proyek ini berguna untuk mengotomatisasi alur kerja berbasis dokumen, seperti menganalisis makalah riset, kontrak hukum, atau laporan keuangan. Anda dapat membangun chatbot yang menjawab pertanyaan spesifik tentang dokumen PDF, yang bisa menjadi alat kuat di industri seperti hukum, akademik, atau intelijen bisnis, di mana pemrosesan teks dalam jumlah besar sangat penting.
Keterampilan yang akan Anda pelajari:
- Memuat dan memproses dokumen PDF menggunakan PyPDFLoader milik LangChain
- Membuat embedding dan melakukan vektorisasi data dokumen dengan OpenAIEmbeddings
- Membangun basis data vektor untuk kueri dokumen dengan Chroma
- Mengintegrasikan ChatGPT dengan data tervektorisasi untuk tanya jawab
- Mengembangkan antarmuka chatbot PDF sederhana menggunakan Gradio
Memuat dokumen
Kita akan menggunakan pemuat dokumen LangChain untuk memuat PDF dan membaca isinya.
from langchain.document_loaders import PyPDFLoader
pdf_path = "./paper.pdf"
loader = PyPDFLoader(pdf_path)
pages = loader.load_and_split()
print(pages[0].page_content)
Membuat embedding dan Vektorisasi
Kita akan membuat embedding menggunakan kelas OpenAIEmbeddings dari API LangChain. Setelah itu, teruskan embedding ini ke kelas Chroma untuk membuat basis data vektor bagi dokumen PDF.
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
embeddings = OpenAIEmbeddings()
vectordb = Chroma.from_documents(pages, embedding=embeddings, persist_directory=".")
vectordb.persist()
Mengajukan kueri ke PDF
Kita akan menggunakan kelas ChatVectorDBChain untuk berinteraksi dengan ChatGPT menggunakan basis data vektor yang dibuat.
from langchain.chains import ChatVectorDBChain
from langchain.llms import OpenAI
pdf_qa = ChatVectorDBChain.from_llm(
OpenAI(temperature=0.9, model_name="gpt-3.5-turbo"),
vectordb,
return_source_documents=True,
)
query = "What is the VideoTaskformer?"
result = pdf_qa({"question": query, "chat_history": ""})
print("Answer:")
print(result["answer"])
Langkah berikutnya tidak disebutkan dalam tutorial video. Anda dapat menggunakan framework Gradio untuk membuat aplikasi web dan membagikannya dengan kolega serta teman.

Sumber daya:
- Tutorial Youtube: How to Talk to a PDF using LangChain and ChatGPT
- Blog dengan Sumber Kode: Automating PDF Interaction with LangChain and ChatGPT
- Lihat juga: Talk to your CSV & Excel with LangChain
4. Asisten Suara Bing-GPT
Bangun asisten pribadi bertenaga AI Anda sendiri seperti J.A.R.V.I.S. Untuk itu, Anda memerlukan OpenAI API, pustaka text-to-speech, pustaka pengenalan ucapan, dan AI generatif.
Use case:
Bing-GPT Voice Assistant ideal untuk membangun asisten pribadi AI yang dikendalikan suara dan dapat menangani tugas seperti membuat pengingat, menjawab pertanyaan, atau mengontrol perangkat rumah pintar. Proyek ini juga dapat dikembangkan untuk mengotomatisasi bisnis, membuat solusi layanan pelanggan berbasis suara, atau membangun alat AI yang aksesibel bagi penyandang disabilitas.
Keterampilan yang akan Anda pelajari:
- Menggunakan API OpenAI untuk menghasilkan respons chatbot
- Mengimplementasikan sintesis dan pengenalan ucapan menggunakan Whisper dan Polly
- Menyiapkan deteksi kata pemicu untuk interaksi berbasis suara
- Membangun asisten AI hibrida menggunakan EdgeGPT dan ChatGPT
- Mengintegrasikan teknologi text-to-speech dan pengenalan suara dalam Python
Setelah memuat pustaka yang diperlukan, Anda harus menyediakan kunci API OpenAI:
openai.api_key = "[paste your OpenAI API key here]"
Kata pemicu
Buat fungsi kata pemicu untuk mengaktifkan AI. Dalam kasus ini, pengembang menggunakan “'bing” atau “gpt”.
Sintesis Ucapan
Fungsi sintesis ucapan menyediakan inferensi text-to-speech. Anda dapat mengakses polly (text-to-speech) dari boto3 dan memutar audio menggunakan pydub.
Transkripsi dengan Whisper
Pengenalan ucapan dilakukan oleh openai/whisper. Anda hanya perlu memahami API-nya untuk menambahkannya ke aplikasi Anda.
ChatBot dengan EdgeGPT
Pada akhirnya, Anda akan menggunakan acheong08/EdgeGPT dan OpenAI API untuk membuat chatbot. Jika pengguna menggunakan kata pemicu “bing'' maka akan menggunakan model EdgeGPT dan selain itu menggunakan model ChatGPT.
Jika Anda mencari implementasi Asisten Suara yang jauh lebih sederhana, lihat OpenAI Whisper, ChatGPT, TTS, dan Gradio Web UI.

Sumber daya:
- Tutorial Youtube: Create a ChatGPT & Bing Voice Assistant in 7 Minutes
- GitHub: Ai-Austin/Bing-GPT-Voice-Assistant
- Solusi Alternatif: youtube-stuffs/voiceGPT.ipynb
5. Proyek Data Science End-to-End
Dalam proyek ini, kita akan menggunakan ChatGPT untuk mengerjakan aplikasi klasifikasi persetujuan pinjaman end-to-end. Yang kita butuhkan hanyalah akses ke antarmuka ChatGPT dan mesin pribadi untuk menjalankan kodenya.
Use case:
Proyek ini dirancang bagi calon data scientist yang ingin membangun pipeline machine learning yang sepenuhnya fungsional menggunakan AI. Anda akan belajar bagaimana menggunakan ChatGPT untuk merencanakan, mengeksekusi, dan menyebarkan model machine learning, sehingga menjadi tambahan yang sangat baik untuk portofolio data science mana pun. Gunakan proyek ini untuk memprediksi persetujuan pinjaman, prediksi churn, atau deteksi penipuan.
Keterampilan yang akan Anda pelajari:
- Menggunakan ChatGPT untuk membantu exploratory data analysis (EDA)
- Mengotomatisasi tugas rekayasa fitur dan prapemrosesan data
- Membangun dan menyetel model machine learning dengan bantuan ChatGPT
- Membuat aplikasi web machine learning menggunakan Gradio
Perencanaan Proyek
Pada fase perencanaan, kita akan menggambarkan dataset dan apa yang kita inginkan darinya. Terkadang jawabannya tidak sempurna, tetapi Anda dapat menyetel respons dengan memberikan prompt lanjutan.
Setelah itu, kita akan mulai mengikuti rencana singkatnya.
Exploratory Data Analysis (EDA)
Kita akan meminta ChatGPT untuk menghasilkan kode Python yang akan memuat dataset dan melakukan exploratory data analysis dengan berbagai teknik visualisasi. Anda bahkan dapat memintanya menafsirkan hasil.
Rekayasa Fitur
Kami telah meminta ChatGPT menulis kode rekayasa fitur, dan luar biasanya ia membuat dua fitur dari fitur yang ada. Ini berarti AI kini benar-benar memahami datasetnya.
Prapemrosesan dan Menyeimbangkan Data
Kami memiliki dataset yang tidak seimbang, dan pada bagian ini, kami akan menggunakan ChatGPT untuk menghasilkan kode prapemrosesan dan penyeimbangan kelas.
Seleksi Model
Kami cukup meminta ChatGPT menulis kode seleksi model dengan menentukan model machine learning. Setelah menjalankan kodenya, kami akan memilih model dengan performa terbaik.
Penyetelan Hyperparameter dan Evaluasi Model
Untuk meningkatkan performa, kami akan meminta ChatGPT menulis kode Python untuk penyetelan hyperparameter dan evaluasi model, serta menyimpan model dengan performa terbaik.
Membuat Aplikasi Web menggunakan Gradio
Kami akan meminta ChatGPT menulis kode aplikasi Gradio menggunakan model dan prapemrosesan yang disimpan. AI memahami fitur input dan hasil output. Hasilnya, kami mendapatkan aplikasi web yang sepenuhnya berfungsi.
Menyebarkan Aplikasi Web di Spaces
Pada langkah terakhir, kami meminta ChatGPT untuk menyebarkan aplikasi web di space. Ia memberikan beberapa langkah yang dapat kami ikuti dan melakukan deployment dalam beberapa menit.

Proyek ini juga akan mengajarkan kiat menulis prompt yang efektif, yang kini menjadi penting di setiap bidang.
Sumber daya:
- Tutorial DataCamp: A Guide to Using ChatGPT For Data Science Projects
- Demo Hugging Face: Loan Classifier
Kesimpulan
Ini baru permulaan dari apa yang akan datang dengan model AI generatif. Komunitas open-source bekerja keras mengembangkan alat yang akan membantu Anda membangun jenis AI apa pun. Anda bahkan dapat menggunakan alat-alat ini untuk membuat AGI (Artificial General Intelligence); lihat Auto-GPT (open-source eksperimental untuk membuat GPT-4 sepenuhnya otonom) dan babyagi (sistem manajemen tugas bertenaga AI).
Dalam postingan ini, kami telah membahas proyek-proyek yang dapat dipahami oleh semua level dan memerlukan lebih sedikit sumber daya untuk memulai. Semuanya menggunakan alat, model, dataset, dan paket open-source yang tersedia untuk siapa saja.
Jika Anda baru mengenal ChatGPT, pertimbangkan untuk mengikuti kursus Introduction to ChatGPT. Atau, jika Anda sudah familier dengan AI generatif, Anda dapat meningkatkan keterampilan prompting dengan meninjau ChatGPT Cheat Sheet for Data Science yang komprehensif, atau dengan melihat sumber berikut:
- Mulai gunakan ChatGPT di kursus Introduction to ChatGPT kami.
- Unduh lembar contekan prompt ChatGPT untuk data science yang praktis ini.
- Dengarkan episode podcast tentang How ChatGPT and GPT-3 Are Augmenting Workflows untuk memahami bagaimana ChatGPT dapat menguntungkan bisnis Anda.
- Tutorial tentang Whisper API
- Mulai belajar AI
FAQs
Bisakah saya menyelesaikan proyek AI generatif ini jika saya baru dalam machine learning dan AI?
Tentu! Meskipun beberapa proyek mungkin melibatkan alat dan teknik tingkat lanjut, instruksi langkah demi langkah yang disediakan dalam postingan blog akan memandu Anda melalui prosesnya. Anda tidak perlu menjadi ahli untuk memulai, dan banyak alat seperti Gradio, Hugging Face, dan LangChain dirancang ramah pemula. Selain itu, proyek-proyek ini akan membantu Anda membangun fondasi yang kuat dalam AI, sehingga lebih mudah untuk menguasai topik yang lebih kompleks di masa mendatang.
Apakah saya memerlukan GPU kelas atas untuk menjalankan proyek AI generatif ini?
Tidak selalu. Beberapa proyek, seperti Alpaca-LoRA, dirancang untuk berjalan pada satu GPU atau bahkan CPU, artinya Anda tidak memerlukan mesin kelas atas untuk menyelesaikannya. Untuk proyek yang memerlukan daya komputasi lebih tinggi, Anda dapat menggunakan layanan berbasis cloud seperti Google Colab, AWS, atau Hugging Face Spaces, yang menyediakan akses ke GPU secara gratis atau berbiaya rendah.
Bagaimana cara menampilkan proyek AI ini dalam portofolio agar menonjol saat melamar kerja?
Proyek-proyek ini sangat cocok untuk ditampilkan dalam portofolio Anda karena menyoroti kemampuan Anda bekerja dengan alat AI mutakhir. Saat menambahkannya ke portofolio, pastikan untuk:
- Menyertakan penjelasan rinci tentang proyek, menggambarkan masalah yang Anda selesaikan, alat yang digunakan, dan hasil akhirnya.
- Berbagi tautan ke demo live atau repositori GitHub agar calon pemberi kerja dapat melihat karya Anda secara langsung.
- Menekankan tantangan unik yang Anda temui dan bagaimana Anda menyelesaikannya, yang menunjukkan keterampilan pemecahan masalah dan berpikir kritis.
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.

