Lewati ke konten utama

Phi-4 dari Microsoft: Tutorial Langkah demi Langkah dengan Proyek Demo

Pelajari cara membangun pemeriksa PR menggunakan model Phi-4 dari Microsoft, yang memvalidasi solusi, memberikan koreksi terperinci, dan menyarankan alternatif yang elegan.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Baru-baru ini Microsoft memperkenalkan Phi-4, tambahan terbaru dalam keluarga model bahasa kecil. Karena unggul dalam matematika, saya memutuskan untuk menggunakan Phi-4 untuk membangun pemeriksa PR yang terintegrasi dengan Gradio.

Dalam tutorial ini, saya akan memandu Anda langkah demi langkah membangun aplikasi web fungsional yang mampu memvalidasi solusi, mengoreksi kesalahan, dan memberikan pendekatan alternatif—layaknya asisten pengajar virtual!

Apa Itu Model Phi-4 dari Microsoft?

Phi-4 unggul dalam tugas penalaran yang kompleks, khususnya dalam matematika, sekaligus tetap mahir dalam pemrosesan bahasa konvensional. Fitur utamanya meliputi:

  • Kemampuan penalaran tingkat lanjut: Phi-4 dilatih pada kumpulan data sintetis berkualitas tinggi dan menggunakan teknik pascapelatihan inovatif untuk melampaui model yang lebih besar pada tugas penalaran terkait matematika.
  • Efisiensi dan aksesibilitas: Dengan 14 miliar parameter, Phi-4 memberikan hasil berkualitas tinggi tanpa memerlukan sumber daya komputasi yang ekstensif, sehingga menjadikannya lebih mudah diakses untuk beragam aplikasi.
  • Ketersediaan: Phi-4 saat ini dapat diakses melalui Azure AI Foundry di bawah Microsoft Research License Agreement (MSRLA) dan Hugging Face.

Phi-4 menunjukkan performa yang sangat baik pada tugas penalaran matematis, bahkan melampaui model yang lebih besar seperti Gemini Pro 1.5 pada soal kompetisi matematika. Ini menjadikannya pilihan yang baik untuk aplikasi yang membutuhkan kemampuan pemecahan masalah matematika tingkat lanjut.

Kinerja Phi4 pada soal kompetisi matematika

Sumber: Microsoft

Pemeriksa PR Phi-4: Gambaran Implementasi

Aplikasi yang akan kita bangun dengan Phi-4 adalah pemeriksa PR berbasis AI. Berikut alur kerja yang akan dilalui pengguna:

  1. Pengguna mengirimkan PR yang sudah dikerjakan (baik instruksi soal maupun solusi pengguna).
  2. Jika solusi salah, model akan menjelaskan solusi yang benar dengan langkah-langkah terperinci, seperti guru.
  3. Jika solusi benar, model akan mengonfirmasi solusinya atau menyarankan alternatif yang lebih rapi dan efisien jika jawabannya berantakan.

alur kerja aplikasi demo phi-4

Untuk menyediakan antarmuka web tempat pengguna dapat berinteraksi dengan pemeriksa PR, kita akan menggunakan Gradio.

Langkah 1: Prasyarat

Sebelum mulai, pastikan Anda telah memasang hal-hal berikut:

  • Python 3.8+
  • PyTorch: Untuk menjalankan model deep learning.
  • Pustaka HuggingFace Transformers: Untuk memuat model Phi-4 dari HuggingFace.
  • Gradio: Untuk membuat antarmuka web yang ramah pengguna.

Pasang dependensi ini dengan menjalankan:

!pip install torch transformers gradio -q

Sekarang semua dependensi sudah terpasang. Selanjutnya, kita menyiapkan model Phi-4.

Langkah 2: Menyiapkan Model

Kita memuat model Phi-4 dari pustaka Transformers milik HuggingFace. Lalu, tokenizer melakukan praproses pada masukan (soal dan solusi) dan menyiapkannya untuk inferensi.

# Imports
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
import gradio as gr

# Load the Phi-4 model and tokenizer
model_name = "NyxKrage/Microsoft_Phi-4"
model=AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Set tokenizer padding token if not set
if tokenizer.pad_token_id is None:
    tokenizer.pad_token_id = tokenizer.eos_token_id

Cuplikan kode di atas menyiapkan model dan tokenizer Phi-4 serta mengintegrasikannya dengan PyTorch untuk komputasi. Mari kita uraikan lebih detail:

  • Kelas AutoModelForCausalLM dan AutoTokenizer diimpor untuk bekerja dengan model dan tokenisasi.
  • Model dimuat dari repositori Hugging Face menggunakan metode from_pretrained() dan dikonfigurasi menggunakan presisi FP16 untuk mengoptimalkan penggunaan memori dan kecepatan komputasi.
  • Parameter device_map="auto" memastikan model secara otomatis dipetakan ke perangkat keras yang tersedia.
  • Tokenizer juga dimuat untuk memproses teks masukan menjadi token yang sesuai bagi model.
  • Pemeriksaan memastikan tokenizer memiliki token padding; jika belum, ia menetapkan eos_token_id (token akhir urutan) sebagai token padding.

Langkah 3: Merancang Fitur Inti 

Setelah model siap, kita mendefinisikan tiga fungsi kunci untuk aplikasi:

  1. Validasi solusi: Model mengevaluasi solusi pengguna dan memberikan koreksi jika salah.
  2. Saran alternatif: Model menyarankan solusi yang lebih rapi jika solusi pengguna berantakan.
  3. Umpan balik yang jelas: Model juga menyusun keluaran dengan bagian-bagian yang jelas.

Fungsi berikut, check_homework(), menyusun prompt yang berisi soal, solusi pengguna, dan instruksi khusus untuk model agar mengonfirmasi kebenaran, mengidentifikasi masalah, atau memberikan panduan langkah demi langkah jika solusi salah.

# Function to validate the solution and provide feedback
def check_homework(exercise, solution):
    prompt = f"""
    Exercise: {exercise}
    Solution: {solution}
Task: Validate the solution to the math problem, provided by the user. If the user's solution is correct, confirm else provide an alternative if the solution is messy. If it is incorrect, provide the correct solution with step-by-step reasoning.
    """
    # Tokenize and generate response
    inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
    print(f"Tokenized input length: {len(inputs['input_ids'][0])}")
    outputs = model.generate(**inputs, max_new_tokens=1024)
    print(f"Generated output length: {len(outputs[0])}")
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    # response = response.replace(prompt, "").strip()
    prompt_len = len(prompt)
    response = response[prompt_len:].strip()
    print(f"Raw Response: {response}")
    return response

Fungsi check_homework() melakukan tokenisasi prompt menggunakan tokenizer milik model. Fungsi ini menyiapkan masukan untuk diproses dengan mengonversinya menjadi tensor PyTorch, yang dipetakan ke perangkat tempat model dijalankan.

Kemudian model menghasilkan respons dengan batas max_new_tokens=1024 untuk mengontrol panjang keluaran. Panjang token ini bisa diubah sesuai kebutuhan.

Terakhir, respons yang telah diproses—yang memberikan umpan balik atau solusi yang dikoreksi—dikembalikan.

Langkah 4: Membuat Antarmuka Ramah Pengguna dengan Gradio

Gradio memudahkan penyebaran pemeriksa PR dengan memungkinkan pengguna memasukkan soal dan solusi secara interaktif. Cuplikan kode berikut membuat antarmuka web Gradio yang ramah pengguna untuk fungsi check_homework(). Antarmuka Gradio menerima masukan pengguna (soal dan solusi) dan meneruskannya ke model untuk divalidasi.

# Define the function that integrates with the Gradio app
def homework_checker_ui(exercise, solution):
    return check_homework(exercise, solution)

# Create the Gradio interface using the new syntax
interface = gr.Interface(
    fn=homework_checker_ui,
    inputs=[
        gr.Textbox(lines=2, label="Exercise (e.g., Solve for x in 2x + 3 = 7)"),
        gr.Textbox(lines=1, label="Your Solution (e.g., x = 1)")
    ],
    outputs=gr.Textbox(label="Feedback"),
    title="AI Homework Checker",
    description="Validate your homework solutions, get corrections, and receive cleaner alternatives.",
)

# Launch the app
interface.launch(debug=True)

Kita membuat dua kolom masukan menggunakan gr.Textbox: satu untuk soal matematika (exercise) dan satu lagi untuk solusi pengguna. Keluaran ditampilkan dalam satu gr.Textbox berlabel "Feedback". Perintah interface.launch() menjalankan aplikasi Gradio di peramban, dan flag debug=True mengaktifkan log terperinci untuk membantu menelusuri kesalahan.

Langkah 5: Pengujian dan Validasi

Saatnya menguji aplikasi AI Homework Checker kita. Berikut beberapa pengujian yang saya lakukan:

  1. Soal matematika sederhana: Saya mencoba menyelesaikan soal probabilitas dasar, dan aplikasi memberikan solusi yang tersusun rapi dan jelas.

Menguji Phi4 pada soal matematika sederhana.

  1. Soal turunan yang kompleks: Menyelesaikan turunan bisa menantang bagi beberapa model. Di sini, saya mencoba mencari turunan pertama dari fungsi logaritma natural dengan pemeriksa PR dan model menghasilkan penalaran langkah demi langkah yang benar untuk solusinya.

Menguji Phi4 pada soal turunan matematika yang kompleks.

Kesimpulan

Dalam tutorial ini, kita membuat pemeriksa PR berbasis AI menggunakan model Phi-4. Aplikasi ini memvalidasi solusi, memberikan koreksi terperinci, dan menyarankan alternatif yang elegan, sehingga ideal sebagai guru virtual bagi pelajar.

Siap memperluas aplikasi? Cobalah soal yang lebih kompleks, atau integrasikan ke dalam platform pendidikan untuk penggunaan yang lebih luas!


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Saya adalah Google Developers Expert di ML (Gen AI), Kaggle 3x Expert, dan Women Techmakers Ambassador dengan pengalaman lebih dari 3 tahun di bidang teknologi. Saya ikut mendirikan startup health-tech pada 2020 dan sedang menempuh studi magister ilmu komputer di Georgia Tech dengan spesialisasi machine learning.

Topik
Kecerdasan Buatan
AI Generatif

Pelajari AI dengan kursus-kursus ini!

Program

Pengembangan Aplikasi Kecerdasan Buatan

21 jam
Pelajari cara membuat aplikasi yang didukung oleh kecerdasan buatan (AI) menggunakan alat pengembangan AI terbaru, termasuk OpenAI API, Hugging Face, dan LangChain.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

Lihat SelengkapnyaLihat Selengkapnya