मुख्य सामग्री पर जाएँ

Microsoft का Phi-4: चरण-दर-चरण ट्यूटोरियल और डेमो प्रोजेक्ट

Microsoft के Phi-4 मॉडल का उपयोग करके होमवर्क चेकर बनाना सीखें, जो समाधान को मान्य करता है, विस्तृत सुधार देता है, और सुरुचिपूर्ण विकल्प सुझाता है।
· 12 मि॰ पढ़ें

AI के साथ खोजें

Microsoft ने हाल ही में Phi-4 पेश किया है, जो छोटे भाषा मॉडलों के Phi परिवार में नवीनतम जोड़ है। चूंकि यह गणित में उत्कृष्ट है, मैंने Phi-4 का उपयोग करके Gradio के साथ एक होमवर्क चेकर बनाने का निर्णय लिया।

इस ट्यूटोरियल में, मैं आपको चरण-दर-चरण एक ऐसा कार्यात्मक वेब ऐप बनाना सिखाऊंगा जो समाधान जाँच सके, त्रुटियाँ सुधार सके, और वैकल्पिक तरीकों का सुझाव दे सके—बिल्कुल एक वर्चुअल शिक्षण सहायक की तरह!

Microsoft का Phi-4 मॉडल क्या है?

Phi-4 जटिल तर्क संबंधी कार्यों, विशेषकर गणित में, में उत्कृष्ट प्रदर्शन करता है, साथ ही पारंपरिक भाषा संसाधन में भी निपुण है। इसकी प्रमुख विशेषताएँ हैं:

  • उन्नत तर्क क्षमता: Phi-4 उच्च-गुणवत्ता वाले सिंथेटिक डेटासेट्स पर प्रशिक्षित है और नवाचारी पोस्ट-ट्रेनिंग तकनीकों का उपयोग करता है, जिससे यह गणित-संबंधी तर्क कार्यों में बड़े मॉडलों से बेहतर प्रदर्शन करता है।
  • दक्षता और पहुँच: 14 बिलियन पैरामीटर्स के साथ, Phi-4 व्यापक कम्प्यूटेशनल संसाधनों के बिना उच्च-गुणवत्ता वाले परिणाम देता है, जिससे यह अधिक अनुप्रयोगों के लिए सुलभ बनता है।
  • उपलब्धता: Phi-4 फिलहाल Azure AI Foundry पर Microsoft Research License Agreement (MSRLA) के अंतर्गत और Hugging Face पर उपलब्ध है।

Phi-4 ने गणितीय तर्क कार्यों पर उत्कृष्ट प्रदर्शन दिखाया है, यहाँ तक कि गणित प्रतियोगिता समस्याओं में Gemini Pro 1.5 जैसे बड़े मॉडलों से भी बेहतर। यह इसे उन्नत गणितीय समस्या-समाधान क्षमताओं की आवश्यकता वाले अनुप्रयोगों के लिए एक अच्छा विकल्प बनाता है।

गणित प्रतियोगिता समस्याओं पर Phi4 का प्रदर्शन

स्रोत: Microsoft

Phi-4 होमवर्क चेकर: कार्यान्वयन का अवलोकन

जिस ऐप का हम Phi-4 के साथ निर्माण करेंगे, वह AI-संचालित होमवर्क चेकर है। उपयोगकर्ता का वर्कफ़्लो इस प्रकार होगा:

  1. उपयोगकर्ता अपना पूरा किया हुआ होमवर्क जमा करता है (अभ्यास के निर्देश और उपयोगकर्ता का समाधान दोनों)।
  2. यदि समाधान गलत है, तो मॉडल शिक्षक की तरह विस्तृत चरणों के साथ सही समाधान समझाएगा।
  3. यदि समाधान सही है, तो मॉडल समाधान की पुष्टि करेगा या यदि उत्तर उलझा हुआ है, तो एक साफ़-सुथरा, अधिक कुशल विकल्प सुझाएगा।

phi-4 डेमो ऐप वर्कफ़्लो

वेब इंटरफ़ेस देने के लिए जहाँ उपयोगकर्ता होमवर्क चेकर के साथ इंटरैक्ट कर सकें, हम Gradio का उपयोग करेंगे।

चरण 1: पूर्वापेक्षाएँ

शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्न इंस्टॉल हैं:

  • Python 3.8+
  • PyTorch: डीप लर्निंग मॉडल चलाने के लिए।
  • HuggingFace Transformers लाइब्रेरी: HuggingFace से Phi-4 मॉडल लोड करने के लिए।
  • Gradio: उपयोगकर्ता-अनुकूल वेब इंटरफ़ेस बनाने के लिए।

इन निर्भरताओं को इंस्टॉल करने के लिए चलाएँ:

!pip install torch transformers gradio -q

अब, हमारी सभी निर्भरताएँ इंस्टॉल हो चुकी हैं। अगला कदम Phi-4 मॉडल सेट करना है।

चरण 2: मॉडल सेटअप

हम HuggingFace की Transformers लाइब्रेरी से Phi-4 मॉडल लोड करेंगे। फिर, टोकनाइज़र इनपुट (अभ्यास और समाधान) को पूर्व-संसाधित करता है और इन्फरेंस के लिए तैयार करता है।

# 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

उपरोक्त कोड स्निपेट Phi-4 मॉडल और टोकनाइज़र सेट करता है और उन्हें गणनाओं के लिए PyTorch के साथ एकीकृत करता है। आइए इसे थोड़ा विस्तार से समझते हैं:

  • AutoModelForCausalLM और AutoTokenizer क्लासेस को मॉडल और टोकनाइज़ेशन के साथ काम करने के लिए आयात किया गया है।
  • मॉडल को Hugging Face रिपॉजिटरी से from_pretrained() मेथड द्वारा लोड किया जाता है और मेमोरी उपयोग व गणना गति के अनुकूलन के लिए FP16 प्रिसीजन पर कॉन्फ़िगर किया गया है।
  • device_map="auto" पैरामीटर सुनिश्चित करता है कि मॉडल उपलब्ध हार्डवेयर पर स्वतः मैप हो जाए।
  • टोकनाइज़र भी लोड किया जाता है, जो इनपुट टेक्स्ट को मॉडल के लिए उपयुक्त टोकन्स में बदलता है।
  • एक जाँच सुनिश्चित करती है कि टोकनाइज़र के पास परिभाषित पैडिंग टोकन हो; यदि नहीं, तो eos_token_id (एंड-ऑफ-सीक्वेंस टोकन) को पैडिंग टोकन के रूप में असाइन किया जाता है।

चरण 3: मुख्य फीचर्स की डिज़ाइन 

मॉडल सेट हो जाने के बाद, हम ऐप के लिए तीन प्रमुख फ़ंक्शन परिभाषित करते हैं:

  1. समाधान मान्यता: मॉडल उपयोगकर्ता के समाधान का मूल्यांकन करता है और गलत होने पर सुधार देता है।
  2. वैकल्पिक सुझाव: यदि उपयोगकर्ता का समाधान उलझा हुआ है, तो यह साफ़-सुथरे समाधान सुझाता है।
  3. स्पष्ट फीडबैक: मॉडल आउटपुट को स्पष्ट सेक्शन्स में संरचित भी करता है।

निम्नलिखित फ़ंक्शन check_homework() एक प्रॉम्प्ट बनाता है जिसमें अभ्यास, उपयोगकर्ता का समाधान, और मॉडल के लिए विशिष्ट निर्देश शामिल होते हैं, ताकि वह शुद्धता की पुष्टि कर सके, समस्याएँ पहचान सके, या गलत होने पर चरण-दर-चरण मार्गदर्शन दे सके।

# 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

check_homework() फ़ंक्शन मॉडल के टोकनाइज़र का उपयोग करके प्रॉम्प्ट को टोकनाइज़ करता है। यह इनपुट को PyTorch टेन्सर्स में बदलकर प्रोसेसिंग के लिए तैयार करता है, जिन्हें उस डिवाइस पर मैप किया जाता है जहाँ मॉडल चल रहा है।

इसके बाद, मॉडल से प्रतिक्रिया जेनरेट की जाती है, जिसमें आउटपुट लंबाई नियंत्रित करने के लिए max_new_tokens=1024 की सीमा होती है। आवश्यकता अनुसार इस टोकन लंबाई को बदला जा सकता है।

अंत में, प्रोसेस की गई प्रतिक्रिया लौटाई जाती है, जो फीडबैक या सुधारित समाधान प्रदान करती है। 

चरण 4: Gradio के साथ उपयोगकर्ता-अनुकूल इंटरफ़ेस बनाना

Gradio इंटरैक्टिव रूप से अभ्यास और समाधान दर्ज करने की सुविधा देकर होमवर्क चेकर की परिनियोजन को आसान बनाता है। निम्न कोड स्निपेट check_homework() फ़ंक्शन के लिए एक उपयोगकर्ता-अनुकूल Gradio वेब इंटरफ़ेस बनाता है। Gradio इंटरफ़ेस उपयोगकर्ता के इनपुट (अभ्यास और समाधान) लेता है और वैलिडेशन के लिए उन्हें मॉडल को पास करता है। 

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

हमने gr.Textbox का उपयोग करके दो इनपुट फ़ील्ड बनाए: एक गणितीय समस्या (अभ्यास) के लिए और दूसरा उपयोगकर्ता के समाधान के लिए। आउटपुट एक gr.Textbox में "Feedback" लेबल के साथ दिखाया जाता है। interface.launch() कमांड ब्राउज़र में Gradio ऐप लॉन्च करता है, और debug=True फ़्लैग त्रुटियों को हल करने में मदद के लिए विस्तृत लॉग सक्षम करता है। 

चरण 5: परीक्षण और मान्यकरण

अब हमारे AI होमवर्क चेकर ऐप का परीक्षण करने का समय है। यहाँ कुछ परीक्षण हैं जो मैंने चलाए:

  1. सरल गणित समस्या: मैंने बुनियादी प्रायिकता समस्याएँ हल करके देखीं, और ऐप ने समस्या का सुव्यवस्थित तथा स्पष्ट समाधान लौटाया।

सरल गणित समस्या पर Phi4 का परीक्षण।

  1. जटिल अवकलज समस्या: कुछ मॉडलों के लिए अवकलज निकालना चुनौतीपूर्ण हो सकता है। यहाँ, मैंने प्राकृतिक लघुगणक फ़ंक्शन का प्रथम अवकलज निकालना होमवर्क चेकर से कराया और इसने समाधान के लिए चरण-दर-चरण सही तर्क प्रस्तुत किया।

जटिल अवकलज गणित समस्या पर Phi4 का परीक्षण।

निष्कर्ष

इस ट्यूटोरियल में, हमने Phi-4 मॉडल का उपयोग करके एक AI-संचालित होमवर्क चेकर बनाया। यह ऐप समाधान को मान्य करता है, विस्तृत सुधार देता है, और सुरुचिपूर्ण विकल्प सुझाता है—जिससे यह छात्रों के लिए आदर्श वर्चुअल शिक्षक बनता है।

ऐप को आगे बढ़ाने के लिए तैयार हैं? अधिक जटिल समस्याओं के साथ प्रयोग करें, या व्यापक उपयोग के लिए इसे शैक्षिक प्लेटफ़ॉर्म्स में एकीकृत करें!

Aashi Dutt

लेखक

Aashi Dutt

मैं एमएल (Gen AI) में Google Developers Expert, Kaggle 3x Expert, और Women Techmakers एंबेसडर हूँ, तथा तकनीक क्षेत्र में 3+ वर्षों का अनुभव रखती हूँ। मैंने 2020 में एक हेल्थ-टेक स्टार्टअप की सह-स्थापना की और वर्तमान में Georgia Tech से कंप्यूटर विज्ञान में मास्टर कर रही हूँ, जिसमें मेरा विशेषज्ञता क्षेत्र मशीन लर्निंग है।

विषय