گراک در یک سبک کهکشانی
گراک در یک سبک کهکشانی

گراک 3 بتا - عصر عامل‌های استدلال

ما هیجان‌زده هستیم که پیش‌نمایش اولیه‌ای از گراک 3، پیشرفته‌ترین مدل خود تا به امروز را ارائه دهیم، که استدلال برتر را با دانش گسترده پیش‌آموزشی ترکیب می‌کند.

هوش نسل بعدی از xAI

ما خوشحالیم که گراک 3، پیشرفته‌ترین مدل خود تا به امروز را معرفی می‌کنیم: ترکیبی از استدلال قوی با دانش گسترده پیش‌آموزشی. گراک 3 که بر روی سوپرکلاستر Colossus ما با 10 برابر قدرت محاسباتی مدل‌های پیشرفته قبلی آموزش داده شده است، پیشرفت‌های قابل توجهی در استدلال، ریاضیات، کدنویسی، دانش جهانی و وظایف پیروی از دستورالعمل نشان می‌دهد. قابلیت‌های استدلال گراک 3، که از طریق یادگیری تقویتی در مقیاس بزرگ اصلاح شده است، به آن اجازه می‌دهد ثانیه‌ها تا دقیقه‌ها فکر کند، اشتباهات را تصحیح کند، جایگزین‌ها را بررسی کند و پاسخ‌های دقیق ارائه دهد. گراک 3 در هر دو معیار دانشگاهی و ترجیحات کاربران دنیای واقعی، با دستیابی به امتیاز Elo 1402 در Chatbot Arena، عملکرد پیشرو دارد. در کنار آن، ما از Grok 3 mini رونمایی می‌کنیم که نشان‌دهنده مرز جدیدی در استدلال مقرون‌به‌صرفه است. هر دو مدل هنوز در حال آموزش هستند و با بازخورد شما به سرعت تکامل خواهند یافت. ما در روزهای آینده Grok 3 را به همراه پیش‌نمایش اولیه‌ای از قابلیت‌های استدلال آن در اختیار کاربران قرار می‌دهیم.

تفکر سخت‌تر: محاسبه و استدلال در زمان آزمایش

امروز، ما دو مدل استدلال بتا، Grok 3 (Think) و Grok 3 mini (Think) را معرفی می‌کنیم. آنها با استفاده از یادگیری تقویتی (RL) در مقیاسی بی‌سابقه آموزش داده شده‌اند تا فرآیند زنجیره تفکر خود را اصلاح کنند، و استدلال پیشرفته را به روشی کارآمد از نظر داده‌ها فعال کنند. با RL، Grok 3 (Think) یاد گرفت که استراتژی‌های حل مسئله خود را اصلاح کند، اشتباهات را از طریق عقب‌گرد تصحیح کند، مراحل را ساده کند و از دانش خود که در طول پیش‌آموزش به دست آورده است، استفاده کند. درست مانند یک انسان هنگام مقابله با یک مسئله پیچیده، Grok 3 (Think) می‌تواند از چند ثانیه تا چند دقیقه را صرف استدلال کند، اغلب رویکردهای متعددی را در نظر می‌گیرد، راه‌حل خود را تأیید می‌کند و ارزیابی می‌کند که چگونه دقیقاً الزامات مسئله را برآورده کند.

هر دو مدل هنوز در حال آموزش هستند، اما در حال حاضر عملکرد قابل توجهی را در طیف وسیعی از معیارها نشان می‌دهند. ما این مدل‌ها را در آزمون ریاضیات دعوت‌نامه‌ای آمریکا (AIME) سال 2025 آزمایش کردیم که فقط 7 روز پیش در 12 فوریه منتشر شد. با بالاترین سطح محاسبه زمان آزمایش (cons@64)، Grok 3 (Think) در این رقابت به 93.3٪ دست یافت. Grok 3 (Think) همچنین به 84.6٪ در استدلال تخصصی سطح فارغ‌التحصیل (GPQA) و 79.4٪ در LiveCodeBench برای تولید کد و حل مسئله دست یافت. علاوه بر این، Grok 3 mini به مرز جدیدی در استدلال مقرون‌به‌صرفه برای وظایف STEM می‌رسد که به دانش جهانی زیادی نیاز ندارند و به 95.8٪ در AIME 2024 و 80.4٪ در LiveCodeBench می‌رسد.

AIME’25

ریاضیات مسابقه‌ای

AIME’24

ریاضیات مسابقه‌ای

GPQA

پرسش و پاسخ مبتنی بر اثبات گوگل در سطح فارغ‌التحصیلی

LiveCodeBench (v5)

تولید کد: 10/1/2024 - 2/1/2025

MMMU

درک چندوجهی

برای استفاده از قابلیت‌های استدلال Grok 3، فقط دکمه Think را فشار دهید. ذهن Grok 3 (Think) کاملاً باز است و به کاربران اجازه می‌دهد نه تنها پاسخ نهایی، بلکه فرآیند استدلال خود مدل را نیز بررسی کنند. ما دریافتیم که عملکرد Grok 3 (Think) در حوزه‌های مسئله متنوع تعمیم می‌یابد. در اینجا چند نمونه استدلال Grok 3 آورده شده است.

نمونه‌های استدلال

یک بازی ایجاد کنید که ترکیبی از دو بازی کلاسیک باشد. آن را در pygame بسازید و آن را زیبا جلوه دهید.

در زیر یک راه‌حل کامل برای پرسش شما آمده است: یک بازی Pygame به نام "Break-Pong"، که عناصر Pong و Breakout را ترکیب می‌کند. در این بازی، دو بازیکن پاروهایی را در طرفین مخالف صفحه کنترل می‌کنند و به توپی ضربه می‌زنند تا یک دیوار مرکزی از آجرها را بشکنند. با شکستن آجرها و اجازه دادن به توپ برای عبور از پاروی حریف، امتیاز کسب می‌شود. این بازی شامل انیمیشن‌های روان، گرافیک‌های رنگارنگ و جلوه‌های ذرات است تا از نظر بصری جذاب باشد. در اینجا پیاده‌سازی آمده است:

پیاده‌سازی کد


import pygame
import sys
import random

# Initialize Pygame
pygame.init()

# Constants
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PADDLE_WIDTH = 20
PADDLE_HEIGHT = 100
BALL_SIZE = 20
BRICK_WIDTH = 40
BRICK_HEIGHT = 20
BRICK_COLUMNS = 5
BRICK_ROWS = 30  # 600 / 20 = 30 rows to span screen height
PADDLE_SPEED = 5
BALL_SPEED = 5
TARGET_SCORE = 50

# Colors
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 100, 100)
GREEN = (100, 255, 100)
BLUE = (100, 100, 255)

# Set up display
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption("Break-Pong")
clock = pygame.time.Clock()

# Paddle class
class Paddle:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.width = PADDLE_WIDTH
        self.height = PADDLE_HEIGHT
        self.speed = PADDLE_SPEED

    def move(self, up=True):
        if up:
            self.y -= self.speed
        else:
            self.y += self.speed
        # Keep paddle within screen bounds
        self.y = max(0, min(SCREEN_HEIGHT - self.height, self.y))

    def draw(self):
        pygame.draw.rect(screen, WHITE, (self.x, self.y, self.width, self.height))

# Ball class
class Ball:
    def __init__(self):
        self.reset()
        self.size = BALL_SIZE

    def move(self):
        self.x += self.vel_x
        self.y += self.vel_y

    def reset(self):
        self.x = SCREEN_WIDTH // 2
        self.y = SCREEN_HEIGHT // 2
        self.vel_x = random.choice([-1, 1]) * BALL_SPEED
        self.vel_y = random.choice([-1, 1]) * BALL_SPEED
        self.last_hit = None  # Tracks which paddle last hit the ball

    def draw(self):
        pygame.draw.circle(screen, WHITE, (int(self.x), int(self.y)), self.size // 2)

# Brick class
class Brick:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.width = BRICK_WIDTH
        self.height = BRICK_HEIGHT
        self.color = random.choice([RED, GREEN, BLUE])
        self.intact = True

    def draw(self):
        if self.intact:
            pygame.draw.rect(screen, self.color, (self.x, self.y, self.width, self.height))

# Particle class for visual effects
class Particle:
    def __init__(self, x, y):
        self.x = x
        self.y = y
        self.size = random.randint(2, 5)
        self.vel_x = random.uniform(-2, 2)
        self.vel_y = random.uniform(-2, 2)
        self.life = 30  # Frames until particle disappears
        self.color = random.choice([RED, GREEN, BLUE])

    def update(self):
        self.x += self.vel_x
        self.y += self.vel_y
        self.life -= 1

    def draw(self):
        if self.life > 0:
            alpha = int((self.life / 30) * 255)  # Fade out effect
            surface = pygame.Surface((self.size, self.size), pygame.SRCALPHA)
            pygame.draw.circle(surface, (*self.color, alpha), (self.size // 2, self.size // 2), self.size // 2)
            screen.blit(surface, (int(self.x), int(self.y)))

# Collision detection functions
def ball_collides_with_paddle(ball, paddle):
    return (ball.x - ball.size // 2 < paddle.x + paddle.width and
            ball.x + ball.size // 2 > paddle.x and
            ball.y - ball.size // 2 < paddle.y + paddle.height and
            ball.y + ball.size // 2 > paddle.y)

def ball_collides_with_brick(ball, brick):
    if not brick.intact:
        return False
    return (ball.x - ball.size // 2 < brick.x + brick.width and
            ball.x + ball.size // 2 > brick.x and
            ball.y - ball.size // 2 < brick.y + brick.height and
            ball.y + ball.size // 2 > brick.y)

# Initialize game objects
left_paddle = Paddle(50, SCREEN_HEIGHT // 2 - PADDLE_HEIGHT // 2)
right_paddle = Paddle(SCREEN_WIDTH - 50 - PADDLE_WIDTH, SCREEN_HEIGHT // 2 - PADDLE_HEIGHT // 2)
ball = Ball()

# Create central brick wall
bricks = []
brick_start_x = SCREEN_WIDTH // 2 - (BRICK_COLUMNS * BRICK_WIDTH) // 2
for col in range(BRICK_COLUMNS):
    for row in range(BRICK_ROWS):
        bricks.append(Brick(brick_start_x + col * BRICK_WIDTH, row * BRICK_HEIGHT))

# Scores and particles
left_score = 0
right_score = 0
particles = []

# Game loop
running = True
while running:
    # Event handling
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Paddle movement
    keys = pygame.key.get_pressed()
    if keys[pygame.K_w]:
        left_paddle.move(up=True)
    if keys[pygame.K_s]:
        left_paddle.move(up=False)
    if keys[pygame.K_UP]:
        right_paddle.move(up=True)
    if keys[pygame.K_DOWN]:
        right_paddle.move(up=False)

    # Update ball
    ball.move()

    # Ball collisions with top/bottom walls
    if ball.y - ball.size // 2 <= 0 or ball.y + ball.size // 2 >= SCREEN_HEIGHT:
        ball.vel_y = -ball.vel_y

    # Ball collisions with paddles
    if ball_collides_with_paddle(ball, left_paddle):
        ball.vel_x = abs(ball.vel_x)  # Ensure ball moves right
        ball.last_hit = 'left'
    elif ball_collides_with_paddle(ball, right_paddle):
        ball.vel_x = -abs(ball.vel_x)  # Ensure ball moves left
        ball.last_hit = 'right'

    # Ball collisions with bricks
    for brick in bricks:
        if ball_collides_with_brick(ball, brick):
            brick.intact = False
            ball.vel_x = -ball.vel_x
            # Add particles
            for _ in range(5):
                particles.append(Particle(brick.x + brick.width // 2, brick.y + brick.height // 2))
            # Award points
            if ball.last_hit == 'left':
                left_score += 1
            elif ball.last_hit == 'right':
                right_score += 1

    # Ball off screen
    if ball.x - ball.size // 2 <= 0:
        right_score += 5
        ball.reset()
    elif ball.x + ball.size // 2 >= SCREEN_WIDTH:
        left_score += 5
        ball.reset()

    # Update particles
    for particle in particles[:]:
        particle.update()
        if particle.life <= 0:
            particles.remove(particle)

    # Draw everything
    screen.fill(BLACK)
    for brick in bricks:
        brick.draw()
    left_paddle.draw()
    right_paddle.draw()
    ball.draw()
    for particle in particles:
        particle.draw()

    # Draw scores
    font = pygame.font.Font(None, 36)
    left_text = font.render(f"Left: {left_score}", True, WHITE)
    right_text = font.render(f"Right: {right_score}", True, WHITE)
    screen.blit(left_text, (50, 20))
    screen.blit(right_text, (SCREEN_WIDTH - 150, 20))

    # Check for game over
    if left_score >= TARGET_SCORE or right_score >= TARGET_SCORE:
        winner = "Left" if left_score >= TARGET_SCORE else "Right"
        game_over_text = font.render(f"{winner} Wins!", True, WHITE)
        screen.blit(game_over_text, (SCREEN_WIDTH // 2 - 50, SCREEN_HEIGHT // 2))
        pygame.display.flip()
        pygame.time.wait(3000)
        running = False

    pygame.display.flip()
    clock.tick(60)

# Cleanup
pygame.quit()
sys.exit()

نحوه اجرا

  1. اطمینان حاصل کنید که پایتون و Pygame نصب شده‌اند ( pip install pygame ).
  2. کد را در یک فایل .py (به عنوان مثال، break_pong.py) کپی کنید.
  3. فایل را با استفاده از پایتون اجرا کنید (به عنوان مثال، python break_pong.py).

دستورالعمل‌های گیم‌پلی

  • کنترل‌ها :
    • پاروی چپ: W (بالا)، S (پایین)
    • پاروی راست: Up Arrow (بالا)، Down Arrow (پایین)
  • هدف : شکستن آجرها در دیوار مرکزی و کسب امتیاز با اجازه دادن به توپ برای عبور از پاروی حریف. اولین کسی که به 50 امتیاز برسد برنده است.

ویژگی‌ها

  • عناصر Pong : دو پارو توپی را به عقب و جلو می‌اندازند، با امتیازاتی که هنگام عبور توپ از پاروی حریف کسب می‌شود.
  • عناصر Breakout : دیواری از آجرها که توپ می‌تواند در برخورد بشکند.
  • جذابیت بصری :
    • حرکت روان پارو و توپ.
    • آجرهای رنگارنگ (قرمز، سبز، آبی) به طور تصادفی اختصاص داده شده‌اند.
    • جلوه‌های ذرات هنگام شکستن آجرها، با ذرات محو شونده برای ظاهری پویا.
    • نمایش واضح امتیاز و پیام پایان بازی.

بهبودها

برای زیباتر یا جذاب‌تر کردن آن، موارد زیر را در نظر بگیرید:

  • اضافه کردن جلوه‌های صوتی (به عنوان مثال، صداهای پرش، شکستن).
  • پیاده‌سازی قدرت‌ها (به عنوان مثال، پاروی بزرگ‌تر، توپ سریع‌تر) که از آجرهای خاص آزاد می‌شوند.
  • اضافه کردن گرادیان یا الگوی پس‌زمینه.
  • گنجاندن یک منوی شروع و انتقال‌های روان‌تر.

این پیاده‌سازی ترکیبی سرگرم‌کننده و از نظر بصری جذاب از Pong و Breakout را ارائه می‌دهد و درخواست شما را برآورده می‌کند! از بازی "Break-Pong" لذت ببرید!

پیش‌آموزش در مقیاسی عظیم

با خاموش بودن استدلال، گراک 3 پاسخ‌های فوری و با کیفیت بالا ارائه می‌دهد. گراک 3 نتایج پیشرفته‌ای را در بین مدل‌های غیر استدلالی در معیارهای دانشگاهی متنوع، از جمله: دانش علمی سطح فارغ‌التحصیل (GPQA)، دانش عمومی (MMLU-Pro)، مسائل مسابقه ریاضی (AIME) ارائه می‌دهد. گراک 3 همچنین در درک تصویر (MMMU) و وظایف درک ویدئو (EgoSchema) عالی است.

معیار Grok 3 Beta Grok 3 mini Beta GPT-4o Gemini 2.0 Pro DeepSeek-V3 Claude 3.5 Sonnet
AIME’24 52.2% 39.7% 9.3% 39.2% 16.0%
GPQA 75.4% 66.2% 53.6% 64.7% 59.1% 65.0%
LCB 57.0% 41.5% 32.3% 36.0% 33.1% 40.2%
MMLU-pro 79.9% 78.9% 72.6% 79.1% 75.9% 78.0%
LOFT (128k) 83.3% 83.1% 78.0% 75.6% 69.9%
SimpleQA 43.6% 21.7% 38.2% 44.3% 24.9% 28.4%
MMMU 73.2% 69.4% 69.1% 72.7% 70.4%
EgoSchema 74.5% 74.3% 72.2% 71.9%

Grok 3 با یک پنجره متن 1 میلیون توکنی - 8 برابر بزرگتر از مدل‌های قبلی ما - می‌تواند اسناد گسترده را پردازش کند و درخواست‌های پیچیده را در حین حفظ دقت پیروی از دستورالعمل انجام دهد. در معیار LOFT (128k)، که موارد استفاده از RAG با متن طولانی را هدف قرار می‌دهد، Grok 3 به دقت پیشرفته (به طور متوسط در 12 وظیفه متنوع) دست یافت و قابلیت‌های قدرتمند بازیابی اطلاعات خود را به نمایش گذاشت.

Grok 3 همچنین دقت واقعی بهبود یافته و کنترل سبکی پیشرفته‌تری را نشان می‌دهد. تحت نام رمز chocolate، یک نسخه اولیه از Grok 3 در صدر جدول امتیازات LMArena Chatbot Arena قرار گرفت و از همه رقبا در امتیازات Elo در همه دسته‌ها پیشی گرفت. همانطور که به مقیاس خود ادامه می‌دهیم، در حال آماده‌سازی برای آموزش مدل‌های بزرگتر در خوشه 200000 GPU خود هستیم.

امتیاز Chatbot Arena
امتیاز Chatbot Arena
امتیاز Chatbot Arena
امتیاز Chatbot Arena

عامل‌های گراک: ترکیب استدلال و استفاده از ابزار

برای درک جهان، باید گراک را با جهان مرتبط کنیم. مدل‌های گراک 3 مجهز به مترجم‌های کد و دسترسی به اینترنت، یاد می‌گیرند که برای یافتن زمینه از دست رفته پرس و جو کنند، رویکرد خود را به صورت پویا تنظیم کنند و استدلال خود را بر اساس بازخورد بهبود بخشند.

به عنوان اولین قدم به سوی این چشم‌انداز، ما در حال ارائه DeepSearch هستیم - اولین عامل ما. این یک عامل هوش مصنوعی فوق‌العاده سریع است که برای جستجوی بی‌امان حقیقت در سراسر مجموعه دانش بشری ساخته شده است. DeepSearch برای ترکیب اطلاعات کلیدی، استدلال در مورد حقایق و نظرات متضاد و استخراج وضوح از پیچیدگی طراحی شده است. چه نیاز به دسترسی به آخرین اخبار بی‌درنگ، جستجوی مشاوره در مورد مشکلات اجتماعی خود یا انجام تحقیقات علمی عمیق داشته باشید، DeepSearch شما را فراتر از یک جستجوی مرورگر خواهد برد. نتایج ردیابی خلاصه نهایی آن در یک گزارش مختصر و جامع ارائه می‌شود تا به شما کمک کنید با دنیایی که هرگز سرعتش کم نمی‌شود، همراه باشید.

نمایش DeepSearch

اگر در سال 2011 سهام $TSLA را خریده بودم چه می‌شد؟

کاربران X چه واکنشی به عرضه Grok 3 نشان می‌دهند؟

برخی از منابع خوب ریاضی آنلاین را برای فرزندم توصیه کنید.

Grok 3 API به زودی عرضه می‌شود

در هفته‌های آینده، Grok 3 و Grok 3 mini را از طریق پلتفرم API خود منتشر خواهیم کرد و دسترسی به مدل‌های استاندارد و استدلالی را ارائه خواهیم داد. DeepSearch همچنین از طریق API ما در اختیار شرکای سازمانی قرار خواهد گرفت.

گام بعدی برای Grok 3 چیست؟

آموزش Grok 3 در حال انجام است و به روز رسانی‌های مکرر برای چند ماه آینده برنامه‌ریزی شده است. ما هیجان‌زده هستیم که ویژگی‌های جدیدی را در Enterprise API ، از جمله استفاده از ابزار، اجرای کد و قابلیت‌های عامل پیشرفته، ارائه دهیم. پس از انتشار RMF (چارچوب مدیریت ریسک) خود در هفته گذشته، ما به ویژه علاقه‌مند به تسریع پیشرفت در نظارت مقیاس‌پذیر و استحکام تهاجمی در طول آموزش هستیم.

Grok 3 اکنون در دسترس کاربران ?? Premium و Premium+ در ?? و Grok.com است. کاربران ?? Premium+ نیز بلافاصله به Think و DeepSearch دسترسی خواهند داشت. علاوه بر این، قابلیت‌های Grok 3 با محدودیت‌های استفاده در حال ارائه به همه کاربران Grok است. کاربران ?? Premium+ محدودیت‌های بالاتری خواهند داشت و به قابلیت‌های پیشرفته دسترسی خواهند داشت.

به این سفر بپیوندید

تیم کوچک و با استعداد xAI از زمان عرضه Grok 1 در نوامبر 2023، پیشرفت تاریخی را هدایت کرده است و ما را در خط مقدم نوآوری هوش مصنوعی قرار داده است. با Grok 3، ما در حال پیشبرد قابلیت‌های استدلال اصلی با استفاده از سوپرکلاستر Colossus گسترده خود هستیم و تحولات هیجان‌انگیزی در راه است. اگر به ساخت هوش مصنوعی برای آینده بشریت علاقه‌مند هستید، برای پیوستن به تیم ما در x.ai/careers درخواست دهید.