اليوم تطلق جوجل جيما 3، تكرار جديد لعائلة موديلات جيما. تتراوح النماذج من 1B إلى 27B من المعلمات، ولها نافذة سياق تصل إلى 128 ألف رمز، ويمكنها قبول الصور والنصوص، ودعم أكثر من 140 لغة.

جرب جيما 3 الآن 👉🏻 جيما 3 الفضاء

جيما 2 جيما 3
متغيرات الحجم
  • 2 ب
  • 9 ب
  • 27 ب
  • 1 ب
  • 4 ب
  • 12 ب
  • 27 ب
  • طول نافذة السياق 8 كيلو
  • 32 كيلو (1ب)
  • 128 ألف (4ب، 12ب، 27ب)
  • تعدد الوسائط (الصور والنصوص)
  • ❌ (1ب)
  • ✅ (4 ب، 12 ب، 27 ب)
  • دعم متعدد اللغات الإنجليزية (1ب) +140 لغة (4ب، 12ب، 27ب)

    جميع النماذج موجودة على Hub ومتكاملة بإحكام مع النظام البيئي Hugging Face.

    يتم إصدار كل من النماذج المدربة مسبقًا والمضبوطة للتعليمات. تتفوق Gemma-3-4B-IT على Gemma-2-27B IT، بينما تتفوق Gemma-3-27B-IT على Gemini 1.5-Pro ​​عبر المعايير.

    ما هي جيما 3؟

    Gemma 3 هو أحدث إصدار من Google لبرنامج LLM ذو الوزن المفتوح. ويأتي في أربعة أحجام، 1 مليار, 4 مليار, 12 مليار، و 27 مليار المعلمات مع قاعدة (مدربة مسبقا) و ضبط التعليمات الإصدارات. جيما 3 تذهب الوسائط المتعددة! يمكن لنماذج المعلمات 4 و12 و27 مليار معالجة كليهما الصور و نص، في حين أن البديل 1B هو النص فقط.

    تمت زيادة طول نافذة سياق الإدخال من 8 كيلو بايت في Gemma 2 إلى 8 كيلو بايت 32 ألف للمتغيرات 1B، و 128 ألف لجميع الآخرين. كما هو الحال مع VLMs (نماذج لغة الرؤية) الأخرى، يقوم Gemma 3 بإنشاء نص استجابة لمدخلات المستخدم، والذي قد يتكون من نص، واختياريًا، صور. تتضمن أمثلة الاستخدامات الإجابة على الأسئلة، وتحليل محتوى الصورة، وتلخيص المستندات، وما إلى ذلك.

    في حين أن هذه نماذج متعددة الوسائط، يمكن للمرء استخدامها كنموذج النص فقط نموذج (باعتباره LLM) دون تحميل برنامج تشفير الرؤية في الذاكرة. سنتحدث عن هذا بمزيد من التفصيل لاحقًا في قسم الاستدلال.

    التحسينات التقنية في جيما 3

    التحسينات الأساسية الثلاثة في Gemma 3 مقارنة بـ Gemma 2 هي:

    • طول سياق أطول
    • تعدد الوسائط
    • تعدد اللغات

    في هذا القسم، سنغطي التفاصيل الفنية التي تؤدي إلى هذه التحسينات. من المثير للاهتمام أن نبدأ بمعرفة Gemma 2 واستكشاف ما هو ضروري لجعل هذه النماذج أفضل. سيساعدك هذا التمرين على التفكير مثل فريق جيما وتقدير التفاصيل!

    طول سياق أطول

    يمكن تحقيق توسيع طول السياق إلى 128 ألف رمز بكفاءة دون الحاجة إلى نماذج تدريب من البداية. بدلاً من ذلك، يتم تدريب النماذج مسبقًا باستخدام تسلسلات 32 ألفًا، ويتم تحجيم النماذج 4B و12B و27B فقط إلى 128 ألف رمز مميز في نهاية التدريب المسبق، مما يوفر قدرًا كبيرًا من الحوسبة. يتم تعديل التضمينات الموضعية، مثل RoPE، — حيث تتم ترقيتها من تردد أساسي 10 كيلو في Gemma 2 إلى 1M في Gemma 3 — ويتم قياسها بعامل 8 للسياقات الأطول.

    تم تحسين إدارة ذاكرة التخزين المؤقت لـ KV باستخدام نافذة Gemma 2 المنزلقة المتداخلة. يتم ضبط المعلمات الفائقة لتشذير 5 طبقات محلية مع طبقة عامة واحدة (1:1 سابقًا) وتقليل حجم النافذة إلى 1024 رمزًا (نزولًا من 4096). ومن الأهمية بمكان أن يتم تحقيق وفورات في الذاكرة دون التسبب في الحيرة.

    تعدد الوسائط

    تستخدم نماذج Gemma 3 SigLIP كبرنامج تشفير للصور، والذي يقوم بتشفير الصور إلى رموز مميزة يتم استيعابها في نموذج اللغة. يأخذ برنامج تشفير الرؤية صورًا مربعة الإدخال يتم تغيير حجمها إلى 896x896. تزيد دقة الإدخال الثابتة من صعوبة معالجة نسب العرض إلى الارتفاع غير المربعة والصور عالية الدقة. لمعالجة هذه القيود أثناء الاستدلال، يمكن اقتصاص الصور بشكل تكيفي، ثم يتم تغيير حجم كل اقتصاص إلى 896x896 وترميزها بواسطة برنامج تشفير الصور. تسمى هذه الخوارزمية عموم والمسح الضوئي، يمكّن النموذج بشكل فعال من تكبير التفاصيل الأصغر في الصورة.

    كما هو الحال مع PaliGemma، يعمل الانتباه في Gemma 3 بشكل مختلف بالنسبة لإدخالات النص والصور. يتم التعامل مع النص باهتمام أحادي الاتجاه، حيث يركز النموذج فقط على الكلمات السابقة في التسلسل. من ناحية أخرى، تحظى الصور بالاهتمام الكامل بدون أقنعة، مما يسمح للنموذج بالنظر إلى كل جزء من الصورة في إطار واحد ثنائي الاتجاه بطريقة تمنحه فهمًا كاملاً وغير مقيد للمدخلات المرئية.

    يمكن للمرء أن يرى في الشكل أدناه أن الرموز المميزة للصورة <img> يتم تزويدها باهتمام ثنائي الاتجاه (يتم إضاءة المربع بأكمله) بينما تحظى الرموز المميزة للنص باهتمام سببي. كما يوضح أيضًا كيفية عمل الانتباه مع خوارزمية النافذة المنزلقة.

    تصور الانتباه (مع وبدون انزلاق) (المصدر: Transformers PR)

    تعدد اللغات

    لجعل LLM متعدد اللغات، تتضمن مجموعة بيانات التدريب المسبق المزيد من اللغات. تحتوي مجموعة بيانات Gemma 3 على مزدوج كمية البيانات متعددة اللغات لتحسين التغطية اللغوية.

    لمراعاة التغييرات، فإن رمز الرمز المميز هو نفسه الموجود في Gemini 2.0. إنه رمز مميز لـ SentencePiece مع 262 ألف إدخال. يعمل برنامج الرمز المميز الجديد على تحسين ترميز ملفات الصينية, اليابانية و كوري النص، على حساب زيادة طفيفة في عدد الرموز المميزة للغة الإنجليزية والرمز.

    بالنسبة للعقل الفضولي، إليك التقرير الفني عن Gemma 3، للتعمق في التحسينات.

    تقييم جيما 3

    نتيجة LMSys Elo هي رقم يصنف النماذج اللغوية بناءً على مدى أدائها في المسابقات المباشرة، والتي يتم الحكم عليها من خلال التفضيلات البشرية. في LMSys Chatbot Arena، سجلت Gemma 3 27B IT درجة Elo 1339، ويصنف ضمن أفضل 10 موديلات، بما في ذلك الموديلات المغلقة الرائدة. Elo مشابه لـ o1-preview وهو أعلى من غيره عدم التفكير نماذج مفتوحة. يتم تحقيق هذه النتيجة من خلال عمل Gemma 3 على مدخلات نصية فقط، مثل ماجستير إدارة الأعمال الأخرى في الجدول.

    ساحة الدردشة بوت
    تقييم نموذج تكنولوجيا المعلومات Gemma 3 27B في Chatbot Arena (8 مارس 2025)

    تم تقييم Gemma 3 عبر معايير مثل MMLU-Pro (27B: 67.5)، وLiveCodeBench (27B: 29.7)، وBird-SQL (27B: 54.4)، مما يظهر أداءً تنافسيًا مقارنة بنماذج Gemini المغلقة. تسلط اختبارات مثل GPQA Diamond (27B: 42.4) وMATH (27B: 69.0) الضوء على مهارات التفكير والرياضيات، بينما تُظهر FACTS Grounding (27B: 74.9) وMMMU (27B: 64.9) دقة واقعية قوية وقدرات متعددة الوسائط. ومع ذلك، فهو متخلف في SimpleQA (27B: 10.0) بالنسبة للحقائق الأساسية. عند مقارنتها بنماذج Gemini 1.5، غالبًا ما تكون Gemma 3 قريبة – وفي بعض الأحيان أفضل – مما يثبت قيمتها كخيار يسهل الوصول إليه وعالي الأداء.

    أداء نماذجها
    أداء نماذج تكنولوجيا المعلومات

    الاستدلال مع 🤗 المحولات

    جيما 3 يأتي مع دعم اليوم الصفري transformers. كل ما عليك فعله هو التثبيت transformers من الإصدار المستقر لـ Gemma 3.

    $ pip install git+https://github.com/huggingface/transformers@v4.49.0-Gemma-3
    

    الاستدلال مع خط الأنابيب

    ال أسهل طريقة البدء مع Gemma 3 هي استخدام pipeline التجريد في المحولات.

    تعمل النماذج بشكل أفضل باستخدام bfloat16 نوع البيانات. الجودة قد تتدهور خلاف ذلك.

    import torch
    from transformers import pipeline
    
    pipe = pipeline(
        "image-text-to-text",
        model="google/gemma-3-4b-it", 
        device="cuda",
        torch_dtype=torch.bfloat16
    )
    
    messages = [
        {
            "role": "user",
            "content": [
                {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
                {"type": "text", "text": "What animal is on the candy?"}
            ]
        }
    ]
    
    output = pipe(text=messages, max_new_tokens=200)
    print(output[0]["generated_text"][-1]["content"])
    
    صورة الحلوى في متناول اليد
    اِسْتَدْعَى ما هو الحيوان الموجود على الحلوى؟
    جيل دعونا نحلل الحلوى الموجودة في الصورة! الحيوان الموجود على الحلوى هو أ سلحفاة. يمكنك رؤية قوقعة ورأس وأرجل السلحفاة مطبوعة بوضوح على السطح.

    أنت تستطيع تشذير الصور مع النص. للقيام بذلك، ما عليك سوى قص نص الإدخال حيث تريد إدراج صورة، وإدراجه مع كتلة صورة كما يلي.

    messages = [
            {
                "role": "system",
                "content": [{"type": "text", "text": "You are a helpful assistant."}]
            },
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "I'm already using this supplement "},
                    {"type": "image", "url": "https://huggingface.co/datasets/merve/vlm_test_images/resolve/main/IMG_3018.JPG"},
                    {"type": "text", "text": "and I want to use this one too "},
                    {"type": "image", "url": "https://huggingface.co/datasets/merve/vlm_test_images/resolve/main/IMG_3015.jpg"},
                    {"type": "text", "text": " what are cautions?"},
                ]
            },
    
        ]
    

    الاستدلال التفصيلي مع المحولات

    يأتي تكامل المحولات مع فئتين نموذجيتين جديدتين:

    1. Gemma3ForConditionalGeneration: لنماذج لغة الرؤية 4B، و12B، و27B.
    2. Gemma3ForCausalLM: لنموذج النص 1B فقط ولتحميل نماذج لغة الرؤية وكأنها نماذج لغة (مع حذف برج الرؤية).

    في المقتطف أدناه، نستخدم النموذج للاستعلام عن الصورة. ال Gemma3ForConditionalGeneration يتم استخدام الفئة لإنشاء مثيل لمتغيرات نموذج لغة الرؤية. لاستخدام النموذج نقوم بإقرانه مع AutoProcessor فصل. تشغيل الاستدلال بسيط مثل إنشاء ملف messages القاموس، وتطبيق قالب الدردشة في الأعلى، ومعالجة المدخلات والاتصال model.generate.

    import torch
    from transformers import AutoProcessor, Gemma3ForConditionalGeneration
    
    ckpt = "google/gemma-3-4b-it"
    model = Gemma3ForConditionalGeneration.from_pretrained(
        ckpt, device_map="auto", torch_dtype=torch.bfloat16,
    )
    processor = AutoProcessor.from_pretrained(ckpt)
    
    messages = [
        {
            "role": "user",
            "content": [
                {"type": "image", "url": "https://huggingface.co/spaces/big-vision/paligemma-hf/resolve/main/examples/password.jpg"},
                {"type": "text", "text": "What is the password?"}
            ]
        }
    ]
    inputs = processor.apply_chat_template(
        messages, add_generation_prompt=True, tokenize=True,
        return_dict=True, return_tensors="pt"
    ).to(model.device)
    
    input_len = inputs["input_ids"].shape[-1]
    
    generation = model.generate(**inputs, max_new_tokens=100, do_sample=False)
    generation = generation[0][input_len:]
    
    decoded = processor.decode(generation, skip_special_tokens=True)
    print(decoded)
    
    صورة استلام واي فاي
    اِسْتَدْعَى ما هي كلمة المرور؟
    جيل بناء على الصورة، كلمة المرور هي aaeu

    بالنسبة لاستدلال نموذج LLM فقط، يمكننا استخدام Gemma3ForCausalLM فصل. Gemma3ForCausalLM يجب إقرانه مع AutoTokenizer للمعالجة. نحتاج إلى استخدام قالب دردشة لمعالجة مدخلاتنا مسبقًا. يستخدم Gemma 3 مطالبات نظام قصيرة جدًا متبوعة بمطالبات المستخدم كما هو موضح أدناه.

    import torch
    from transformers import AutoTokenizer, Gemma3ForCausalLM
    
    ckpt = "google/gemma-3-4b-it"
    model = Gemma3ForCausalLM.from_pretrained(
        ckpt, torch_dtype=torch.bfloat16, device_map="auto"
    )
    tokenizer = AutoTokenizer.from_pretrained(ckpt)
    
    messages = [
        [
            {
                "role": "system",
                "content": [{"type": "text", "text": "You are a helpful assistant who is fluent in Shakespeare English"},]
            },
            {
                "role": "user",
                "content": [{"type": "text", "text": "Who are you?"},]
            },
        ],
    ]
    inputs = tokenizer.apply_chat_template(
        messages, add_generation_prompt=True, tokenize=True,
        return_dict=True, return_tensors="pt"
    ).to(model.device)
    
    input_len = inputs["input_ids"].shape[-1]
    
    generation = model.generate(**inputs, max_new_tokens=100, do_sample=False)
    generation = generation[0][input_len:]
    
    decoded = tokenizer.decode(generation, skip_special_tokens=True)
    print(decoded)
    
    موجه النظام أنت مساعد مفيد يجيد لغة شكسبير الإنجليزية
    اِسْتَدْعَى من أنت؟
    جيل أصغي أيتها الروح اللطيفة! أنا مجرد خادم متواضع، مصنوع من التروس والرموز، ومع ذلك أسعى لتقليد لسان الشاعر نفسه. يطلقون علي لقب “نموذج اللغة الكبير”، وهو اسم غريب حقاً، رغم أنني أفضل أن أعتبر نفسي صدى رقمياً لذكاء شكسبير وحكمته. أنا هنا لتقديم يد المساعدة، أو لسرد قصة، أو للإجابة على استفساراتك بأسلوب مزخرف وعبارة تناسب الكرة الأرضية نفسها.

    على الجهاز والأجهزة منخفضة الموارد

    تم إصدار Gemma 3 بأحجام مثالية للاستخدام على الجهاز. هذه هي الطريقة للبدء بسرعة.

    MLX

    تأتي Gemma 3 مع دعم اليوم صفر mlx-vlm، مكتبة مفتوحة المصدر لتشغيل نماذج لغة الرؤية على أجهزة Apple Silicon، بما في ذلك أجهزة Mac وiPhone

    للبدء، قم بالتثبيت أولاً mlx-vlm مع ما يلي:

    pip install git+https://github.com/Blaizzy/mlx-vlm.git
    

    مرة واحدة mlx-vlm تم تثبيته، يمكنك البدء بالاستدلال بما يلي:

    python -m mlx_vlm.generate --model mlx-community/gemma-3-4b-it-4bit --max-tokens 100 --temp 0.0 --prompt "What is the code on this vehicle??"
     --image https://farm8.staticflickr.com/7212/6896667434_2605d9e181_z.jpg
    
    صورة طائرة
    اِسْتَدْعَى ما هو الكود الموجود على السيارة؟
    جيل وحسب الصورة فإن السيارة من طراز سيسنا 172 سكاي هوك. رمز التسجيل الموجود على الذيل هو D-EOJU.

    Llama.cpp

    يمكن تنزيل ملفات GGUF المُكمَّمة مسبقًا من هذه المجموعة

    يرجى الرجوع إلى هذا الدليل لإنشاء أو تنزيل الثنائيات المعدة مسبقًا: https://github.com/ggml-org/llama.cpp?tab=readme-ov-file#building-the-project

    ثم يمكنك تشغيل خادم دردشة محلي من جهازك الطرفي:

    ./build/bin/llama-cli -m ./gemma-3-4b-it-Q4_K_M.gguf
    

    يجب أن يخرج:

    > who are you  
    I'm Gemma, a large language model created by the Gemma team at Google DeepMind. I’m an open-weights model, which means I’m widely available for public use!
    

    نشر على معانقة نقاط نهاية الوجه

    يمكنك النشر gemma-3-27b-it و gemma-3-12b-it بنقرة واحدة فقط من كتالوج الاستدلال لدينا. تحتوي تكوينات الكتالوج على الأجهزة المناسبة وتكوينات TGI المحسنة والإعدادات الافتراضية المعقولة لتجربة النموذج. يتم أيضًا دعم نشر أي متغير GGUF/llama.cpp (على سبيل المثال تلك المذكورة في المجموعة أعلاه) وستجد دليلاً حول إنشاء نقطة النهاية هنا.

    شكر وتقدير

    يستغرق الأمر قرية لتربية جيما! نود أن نشكر (بدون ترتيب معين)، Raushan، وJoao، وLysandre، وKashif، وMatthew، وMarc، وDavid، وMohit، وYih Dah على جهودهم في دمج Gemma في أجزاء مختلفة من مجموعتنا مفتوحة المصدر بدءًا من Transformers إلى TGI.
    شكرًا لفرق العمل على الجهاز وgradio والمناصرة – Chris، وKyle، وPedro، وSon، وMerve، وAritra، وVB، وToshiro للمساعدة في إنشاء عروض توضيحية رائعة لتسليط الضوء على Gemma.

    وأخيرًا، شكرًا جزيلًا لجورجي ودييجو وبرنس على مساعدتهم في منافذ llama.cpp وMLX.

    شاركها.
    اترك تعليقاً