Chuyển đến nội dung chính

Phi-4 của Microsoft: Hướng dẫn từng bước kèm dự án demo

Tìm hiểu cách xây dựng công cụ kiểm tra bài tập về nhà bằng mô hình Phi-4 của Microsoft, có khả năng xác thực lời giải, đưa ra chỉnh sửa chi tiết và gợi ý phương án thay thế tinh gọn.
Đã cập nhật 5 thg 10, 2026  · 12 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Gần đây, Microsoft đã giới thiệu Phi-4, phiên bản mới nhất trong họ mô hình ngôn ngữ nhỏ. Vì mô hình này nổi trội về toán học, tôi quyết định dùng Phi-4 để xây dựng công cụ kiểm tra bài tập về nhà tích hợp với Gradio.

Trong hướng dẫn này, tôi sẽ dẫn bạn từng bước xây dựng một ứng dụng web có thể xác thực lời giải, sửa lỗi và đưa ra phương án tiếp cận thay thế—tựa như một trợ giảng ảo!

Phi-4 của Microsoft là gì?

Phi-4 vượt trội trong các tác vụ suy luận phức tạp, đặc biệt là toán học, đồng thời vẫn thành thạo xử lý ngôn ngữ thông thường. Những điểm chính gồm:

  • Khả năng suy luận nâng cao: Phi-4 được huấn luyện trên bộ dữ liệu tổng hợp chất lượng cao và sử dụng các kỹ thuật hậu huấn luyện sáng tạo để vượt qua những mô hình lớn hơn trong các bài toán suy luận liên quan đến toán học.
  • Hiệu quả và khả năng tiếp cận: Với 14 tỷ tham số, Phi-4 mang lại kết quả chất lượng cao mà không cần tài nguyên tính toán lớn, giúp phù hợp với nhiều ứng dụng hơn.
  • Khả dụng: Hiện có thể truy cập Phi-4 qua Azure AI Foundry theo Thỏa thuận Giấy phép Nghiên cứu của Microsoft (MSRLA) và trên Hugging Face.

Phi-4 cho thấy hiệu năng ấn tượng trong các tác vụ suy luận toán học, thậm chí vượt qua những mô hình lớn hơn như Gemini Pro 1.5 ở các bài toán thi toán. Điều này khiến nó trở thành lựa chọn phù hợp cho các ứng dụng đòi hỏi khả năng giải quyết vấn đề toán học nâng cao.

Hiệu năng Phi4 trên các bài toán thi toán

Nguồn: Microsoft

Trình kiểm tra bài tập Phi-4: Tổng quan triển khai

Ứng dụng chúng ta sẽ xây dựng với Phi-4 là một trình kiểm tra bài tập về nhà dùng AI. Quy trình người dùng sẽ trải qua như sau:

  1. Người dùng nộp bài đã làm (gồm đề bài và lời giải của họ).
  2. Nếu lời giải sai, mô hình sẽ giải thích lời giải đúng kèm các bước chi tiết, như một giáo viên.
  3. Nếu lời giải đúng, mô hình sẽ xác nhận hoặc gợi ý một phương án gọn gàng, hiệu quả hơn nếu cách trình bày rối.

quy trình ứng dụng demo phi-4

Để cung cấp giao diện web cho người dùng tương tác với trình kiểm tra bài tập, chúng ta sẽ dùng Gradio.

Bước 1: Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn đã cài đặt những thứ sau:

  • Python 3.8+
  • PyTorch: Để chạy các mô hình học sâu.
  • Thư viện HuggingFace Transformers: Để tải mô hình Phi-4 từ HuggingFace.
  • Gradio: Để tạo giao diện web thân thiện với người dùng.

Cài đặt các phụ thuộc này bằng cách chạy:

!pip install torch transformers gradio -q

Giờ đây, chúng ta đã cài xong các phụ thuộc. Tiếp theo, thiết lập mô hình Phi-4.

Bước 2: Thiết lập mô hình

Chúng ta tải mô hình Phi-4 từ thư viện Transformers của HuggingFace. Sau đó, tokenizer sẽ tiền xử lý đầu vào (đề bài và lời giải) và chuẩn bị cho suy luận.

# 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

Đoạn mã trên thiết lập mô hình và tokenizer Phi-4 và tích hợp chúng với PyTorch để tính toán. Cùng phân tích chi tiết hơn:

  • Các lớp AutoModelForCausalLM và AutoTokenizer được import để làm việc với mô hình và việc mã hoá.
  • Mô hình được tải từ kho Hugging Face bằng phương thức from_pretrained() và cấu hình dùng độ chính xác FP16 để tối ưu bộ nhớ và tốc độ tính toán.
  • Tham số device_map="auto" đảm bảo mô hình được ánh xạ tự động lên phần cứng sẵn có.
  • Tokenizer cũng được tải, dùng để xử lý văn bản đầu vào thành token phù hợp với mô hình.
  • Một bước kiểm tra đảm bảo tokenizer có token đệm; nếu chưa, sẽ gán eos_token_id (token kết thúc chuỗi) làm token đệm.

Bước 3: Thiết kế các tính năng cốt lõi 

Khi mô hình đã được thiết lập, chúng ta định nghĩa ba chức năng chính cho ứng dụng:

  1. Xác thực lời giải: Mô hình đánh giá lời giải của người dùng và đưa ra chỉnh sửa nếu sai.
  2. Gợi ý phương án thay thế: Đề xuất lời giải gọn gàng hơn nếu cách làm của người dùng còn rối.
  3. Phản hồi rõ ràng: Mô hình cũng cấu trúc đầu ra với các phần mục rành mạch.

Hàm sau đây, check_homework(), xây dựng một prompt chứa đề bài, lời giải của người dùng và các hướng dẫn cụ thể để mô hình xác nhận tính đúng sai, chỉ ra vấn đề, hoặc đưa ra hướng dẫn từng bước nếu lời giải sai.

# 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

Hàm check_homework() mã hoá prompt bằng tokenizer của mô hình. Nó chuẩn bị cho xử lý bằng cách chuyển đầu vào thành tensor PyTorch, được ánh xạ tới thiết bị nơi mô hình đang chạy.

Sau đó, mô hình sinh phản hồi với giới hạn max_new_tokens=1024 để kiểm soát độ dài đầu ra. Bạn có thể điều chỉnh độ dài token này khi cần.

Cuối cùng, phản hồi đã xử lý—cung cấp nhận xét hoặc lời giải đúng—được trả về. 

Bước 4: Tạo giao diện thân thiện với Gradio

Gradio đơn giản hoá việc triển khai trình kiểm tra bài tập bằng cách cho phép người dùng nhập đề bài và lời giải một cách tương tác. Đoạn mã sau tạo giao diện web Gradio thân thiện cho hàm check_homework(). Giao diện Gradio nhận đầu vào của người dùng (đề bài và lời giải) và chuyển cho mô hình để xác thực. 

# 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)

Chúng ta tạo hai trường nhập bằng gr.Textbox: một cho bài toán (đề bài) và một cho lời giải của người dùng. Kết quả được hiển thị trong một gr.Textbox duy nhất có nhãn "Feedback". Lệnh interface.launch() khởi chạy ứng dụng Gradio trên trình duyệt, và cờ debug=True bật nhật ký chi tiết để hỗ trợ xử lý lỗi. 

Bước 5: Kiểm thử và xác thực

Đến lúc kiểm thử ứng dụng Trình kiểm tra Bài tập bằng AI. Dưới đây là một số bài kiểm thử tôi đã chạy:

  1. Bài toán đơn giản: Tôi thử giải các bài xác suất cơ bản và ứng dụng trả về lời giải có cấu trúc rõ ràng, dễ hiểu.

Kiểm thử Phi4 với bài toán đơn giản.

  1. Bài toán đạo hàm phức tạp: Việc giải đạo hàm có thể là thách thức với một số mô hình. Ở đây, tôi thử tìm đạo hàm cấp một của hàm log tự nhiên bằng trình kiểm tra, và ứng dụng tạo ra lập luận từng bước chính xác cho lời giải.

Kiểm thử Phi4 với bài toán đạo hàm phức tạp.

Kết luận

Trong hướng dẫn này, chúng ta đã tạo một trình kiểm tra bài tập dùng AI dựa trên mô hình Phi-4. Ứng dụng xác thực lời giải, cung cấp chỉnh sửa chi tiết và gợi ý phương án thay thế tinh gọn, trở thành một “giáo viên ảo” lý tưởng cho học sinh.

Sẵn sàng mở rộng ứng dụng? Hãy thử nghiệm với các bài toán phức tạp hơn, hoặc tích hợp vào các nền tảng giáo dục để sử dụng rộng rãi!


Aashi Dutt's photo
Author
Aashi Dutt
LinkedIn
Twitter

Tôi là Chuyên gia Google Developers trong lĩnh vực ML (Gen AI), Chuyên gia Kaggle 3x và Đại sứ Women Techmakers với hơn 3 năm kinh nghiệm trong ngành công nghệ. Tôi đồng sáng lập một startup công nghệ y tế vào năm 2020 và hiện đang theo học thạc sĩ khoa học máy tính tại Georgia Tech, chuyên sâu về học máy.

Chủ đề
Trí tuệ Nhân tạo
AI sinh sinh

Học AI với các khóa học này!

Lộ trình

Phát triển các ứng dụng trí tuệ nhân tạo

21 giờ
Học cách phát triển các ứng dụng được hỗ trợ bởi trí tuệ nhân tạo (AI) bằng cách sử dụng các công cụ phát triển AI mới nhất, bao gồm API OpenAI, Hugging Face và LangChain.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm