دسته: علوم داده

  • دستاورد جدید دانشگاه تهران در تحلیل سری‌های زمانی با هوش مصنوعی

    دستاورد جدید دانشگاه تهران در تحلیل سری‌های زمانی با هوش مصنوعی

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

    پژوهشگران این پروژه، با تمرکز بر معماری «میکسر ماتریسی» و توسعه یک روش نوین «توکن‌سازی» رویکرد تازه‌ای برای بهبود دقت مدل‌های یادگیری ماشین در داده‌های زمانی ارائه کرده‌اند.

    نقش کلیدی توکن‌سازی در مدل‌های مبتنی بر توجه

    دکتر باباعلی در تشریح این دستاورد توضیح داد که مدل‌های مبتنی بر Attention تنها زمانی عملکرد مطلوب دارند که داده‌های زمانی به‌درستی قطعه‌بندی شوند. به گفته او، نحوه توکن‌سازی داده‌ها نقش تعیین‌کننده‌ای در درک معنای اطلاعات توسط مدل ایفا می‌کند.

    وی تأکید کرد که بدون یک توکن‌سازی دقیق، حتی قدرتمندترین معماری‌ها نیز روی داده‌های نادرست آموزش می‌بینند. این موضوع می‌تواند دقت نهایی مدل را به‌طور جدی کاهش دهد.

    چالش تنوع داده‌های سری زمانی

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

    این رویکرد، معماری را به یک «جعبه ابزار منعطف» تبدیل می‌کند که می‌تواند با انواع داده‌های پیچیده سازگار شود.

    چرا Attention بر MLP-Mixer برتری دارد؟

    سرپرست این تیم پژوهشی توضیح داد که مکانیزم Attention به مدل اجازه می‌دهد روابط کوتاه‌مدت و بلندمدت بین قطعات داده را به‌صورت پویا شناسایی کند. این ویژگی، مزیتی مهم نسبت به روش‌هایی مانند MLP-Mixer محسوب می‌شود.

    او افزود این برتری در داده‌هایی مانند سیگنال‌های مغزی یا داده‌های زیستی، که وابستگی‌های زمانی ظریفی دارند، اهمیت حیاتی پیدا می‌کند.

    دقت ۸۶ درصدی بدون داده‌های برچسب‌دار

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

    این ویژگی، کاربرد مدل را در شرایط واقعی که داده‌های برچسب‌دار محدود هستند، بسیار ارزشمند می‌کند.

    مسیر آینده پژوهش‌های سری زمانی

    دکتر باباعلی در پایان به مسیر آینده این تحقیقات اشاره کرد. او گفت پژوهشگران قصد دارند به سمت «توکن‌سازی تطبیقی و هوشمند» حرکت کنند؛ رویکردی که در آن، خود مدل بهترین روش قطعه‌بندی داده را انتخاب می‌کند.

    به گفته او، تحقق این هدف می‌تواند تحول بزرگی در تحلیل داده‌های صنعتی و زیستی ایجاد کند و کاربردهای هوش مصنوعی را گسترش دهد.

    جمع‌بندی

    بر اساس گزارش خبرگزاری مهر، این دستاورد نشان می‌دهد که ترکیب بینش‌های آماری با معماری‌های نوین یادگیری عمیق می‌تواند افق‌های تازه‌ای در تحلیل سری‌های زمانی با هوش مصنوعی ایجاد کند. پژوهش دانشگاه تهران نمونه‌ای روشن از گذار موفق از پژوهش نظری به کاربردهای عملی در علوم داده و یادگیری ماشین است.

  • بهترین Package Manager برتر پایتون در سال ۲۰۲۵

    بهترین Package Manager برتر پایتون در سال ۲۰۲۵

    در این نوشته بهترین Package Manager های پایتون را بررسی می‌کنیم و با روش نصب هرکدام روی سیستم عامل لینوکس آشنا می‌شویم.

    همه‌چیز از زمانی شروع شد که در حال پاک‌سازی فضای ذخیره‌سازی رایانه‌ام بودم و متوجه شدم «Anaconda» بیش از ۲۰ گیگابایت از حافظه‌ام را اشغال کرده است! بعد از کمی بررسی فهمیدم که دلیلش این است که آناکوندا ده‌ها بسته و ابزار غیرضروری را به‌صورت پیش‌فرض نصب می‌کند.

    همین مسئله باعث شد به‌دنبال گزینه‌های جایگزین سبک‌تر و سریع‌تر بگردم و در نهایت به چند مدیر بسته‌ی قدرتمند برای پایتون رسیدم.

    ۱. Uv

    Uv نسل جدید مدیر بسته و محیط‌های پایتون است که با زبان Rust نوشته شده و تمرکزش بر سرعت است. هدف آن رقابت و حتی عملکرد بهتر نسبت به ابزارهایی مانند pip و Poetry است، در حالی‌که سازگاری کامل با اکوسیستم پایتون را حفظ می‌کند.

    این ابزار از محبوب‌ترین گزینه‌های من است؛ نصب بسته‌ها را با سرعت بالا انجام می‌دهد، سبک است و بهترین عملکردش را در محیط‌های مجازی دارد.

    نصب در ترمینال:

    curl -LsSf https://astral.sh/uv/install.sh | sh

    ۲. Pip

    pip مدیر بسته‌ی پیش‌فرض پایتون است و تقریباً با تمام نصب‌های پایتون همراه است. این ابزار امکان نصب، به‌روزرسانی و مدیریت بسته‌ها از مخزن رسمی PyPI را فراهم می‌کند. هر برنامه‌نویس پایتون کارش را از pip شروع می‌کند، اما نسبت به رقبایی مانند uv کمی کندتر است.

    نصب:

    sudo apt update
    sudo apt install python3-pip -y

    ۳. Poetry

    Poetry ابزاری برای مدیریت وابستگی‌ها و بسته‌بندی پروژه‌های پایتون است که با استفاده از فایل پیکربندی pyproject.toml همه‌چیز را ساده می‌کند. این ابزار ساخت محیط مجازی، حل وابستگی‌ها و انتشار پکیج‌ها را در یک چارچوب واحد انجام می‌دهد. Poetry میان توسعه‌دهندگان نرم‌افزار محبوب است چون کنترل دقیقی بر پروژه‌ها فراهم می‌کند.

    نصب:

    curl -sSL https://install.python-poetry.org | python3 -

    یا

    pip install poetry

    ۴. Conda (Anaconda)

    Conda یکی از ابزارهای قدیمی و قدرتمند برای مدیریت بسته‌ها و محیط‌هاست و به‌ویژه در حوزه‌ی داده و یادگیری ماشین کاربرد زیادی دارد. مزیت بزرگ آن این است که علاوه بر بسته‌های پایتون، می‌تواند کتابخانه‌های سیستم یا زبان‌های دیگر مانند R و CUDA را نیز مدیریت کند. اما در مقابل، کندی نسبی و حجم زیاد نصب از نقاط ضعف آن است. نسخه‌ی کامل Anaconda معمولاً همراه با ابزارهای زیادی عرضه می‌شود که شاید هیچ‌وقت از آن‌ها استفاده نکنید.

    نصب:

    wget https://repo.anaconda.com/archive/Anaconda3-2025.06-1-Linux-x86_64.sh
    bash Anaconda3-2025.06-1-Linux-x86_64.sh

    ۵. MiniConda

    MiniConda نسخه‌ی سبک‌تر آناکونداست که فقط Conda و ابزارهای ضروری آن را شامل می‌شود. این گزینه برای کسانی مناسب است که می‌خواهند محیط‌های سفارشی و بهینه بسازند بدون آن‌که صدها بسته‌ی غیرضروری نصب شود. اگر workflow آناکوندا را دوست دارید اما دنبال گزینه‌ای کم‌حجم‌تر و سریع‌تر هستید، Miniconda بهترین انتخاب است.

    نصب:

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    bash Miniconda3-latest-Linux-x86_64.sh

    ۶. Mamba

    Mamba نسخه‌ای فوق‌سریع از Conda است که با زبان C++ بازنویسی شده و حل وابستگی‌ها را با سرعت چشمگیری انجام می‌دهد. بسیاری از دانشمندان داده که با محیط‌های سنگین کار می‌کنند، Mamba را به‌جای Miniconda ترجیح می‌دهند.

    نصب:

    curl micro.mamba.pm/install.sh | bash

    یا در محیط Conda:

    conda install mamba -n base -c conda-forge

    ۷. Pixi

    Pixi یکی از تازه‌واردهای دنیای مدیران بسته است که توسط جامعه‌ی Conda و با زبان Rust ساخته شده. هدف آن، مدیریت یکپارچه‌ی محیط‌ها در زبان‌های مختلف برنامه‌نویسی است. Pixi سریع، چندسکویی (cross-platform) و کاملاً قابل بازتولید است. هرچند Pixi هنوز به محبوبیت uv نرسیده، اما برای تیم‌هایی که با فناوری‌های متنوع کار می‌کنند، گزینه‌ای بسیار آینده‌دار است.

    نصب:

    curl -fsSL https://pixi.sh/install.sh | bash

    جمع‌بندی

    اگر تازه وارد دنیای علم داده هستید، با Anaconda شروع کنید؛ چون همه‌چیز را آماده در اختیارتان می‌گذارد و زمان راه‌اندازی را به حداقل می‌رساند.

    اما وقتی تجربه‌ی بیشتری پیدا کردید، uv می‌تواند جایگزینی سریع و سبک برای workflow روزمره‌تان باشد. اگر همچنان در اکوسیستم Conda احساس راحتی می‌کنید، Mamba گزینه‌ای عالی است.

    در نهایت، انتخاب بهترین مدیر بسته به نیاز پروژه، عادات تیمی و تعادل بین کارایی و سادگی بستگی دارد. هر مرحله از مسیر یادگیری شما می‌تواند انتخاب متفاوتی بطلبد، مهم این است که ابزاری انتخاب کنید که به رشد شما کمک کند.

    اگر به مطالب علوم داده علاقه دارید می‌توانید به آرشیو دسته‌بندی علوم داده در کدرزنیوز مراجعه کنید.

  • مهندسی کانتکست؛ نسل تازه‌ی طراحی عامل‌های هوش مصنوعی

    مهندسی کانتکست؛ نسل تازه‌ی طراحی عامل‌های هوش مصنوعی

    پس از چند سال تمرکز جامعه‌ی فناوری بر «مهندسی پرامپت»، اکنون نگاه‌ها به مرحله‌ای تازه از طراحی عامل‌های هوشمند دوخته شده است؛ مرحله‌ای که «مهندسی کانتکست» نام دارد. آنتروپیک (Anthropic) در تازه‌ترین مقاله‌ی خود، از این مفهوم به‌عنوان گامی اساسی در بهبود عملکرد مدل‌های زبانی بزرگ یاد می‌کند — جایی که مهندسان دیگر تنها بر واژه‌ها تمرکز نمی‌کنند، بلکه بر مدیریت مؤثر اطلاعاتی که مدل در هر لحظه می‌بیند، تکیه دارند.

    از پرامپت‌نویسی تا طراحی وضعیت ذهنی مدل

    در مدل‌های زبانی بزرگ (LLM)، مهندسی کانتکست به‌معنای یافتن «پیکربندی بهینه‌ی اطلاعات» است؛ ترکیبی از داده‌ها، دستورالعمل‌ها و مثال‌هایی که احتمال دستیابی مدل به پاسخ درست را افزایش می‌دهد.

    آنتروپیک در مقاله‌ای منتشرشده در سپتامبر ۲۰۲۵ توضیح می‌دهد که این رویکرد فراتر از مهندسی پرامپت است. اگر مهندسی پرامپت هنر نوشتن دستورهای دقیق برای مدل باشد، مهندسی کانتکست علم مدیریت کل اطلاعات در دسترس مدل است — از دستورالعمل‌های سیستم گرفته تا تاریخچه‌ی مکالمات و داده‌های بازیابی‌شده.

    چرا کانتکست اهمیت دارد؟

    کانتکست همان حافظه‌ی کاری مدل است؛ منبعی محدود که با هر توکن پر می‌شود و ظرفیتش هرچقدر هم افزایش یابد، باز هم محدود است. پژوهش‌ها نشان داده‌اند که با افزایش طول کانتکست، دقت مدل در بازیابی اطلاعات کاهش می‌یابد — پدیده‌ای که به «فرسایش کانتکست» (Context Rot) معروف است.

    علت اصلی این محدودیت در معماری ترنسفورمر نهفته است؛ جایی که هر توکن با تمام توکن‌های دیگر ارتباط دارد و این وابستگی از مرتبه‌ی n² رشد می‌کند. در نتیجه، با افزایش حجم داده، تمرکز مدل افت می‌کند و کارایی آن پایین می‌آید.

    اصول طراحی کانتکست مؤثر

    • پرامپت‌های سیستم: باید شفاف، دقیق و متناسب با نقش عامل باشند. جزئیات بیش از حد یا ابهام در دستورها، عملکرد مدل را تضعیف می‌کند.
    • ابزارها (Tools): ابزارهای عامل باید داده را با کمترین هزینه‌ی توکنی بازگردانند و رفتار مؤثر را تقویت کنند.
    • مثال‌ها (Few-Shot Examples): چند مثال گویا می‌تواند رفتار مدل را در مسیر درست هدایت کند. تعادل میان تنوع و تعداد مثال‌ها اهمیت دارد.

    بازیابی پویا؛ حافظه‌ای هوشمند برای عامل‌ها

    در نسل جدید عامل‌های هوشمند، رویکردی موسوم به بازیابی لحظه‌ای (Just-in-Time Retrieval) در حال گسترش است. در این روش، عامل به‌جای بارگذاری همه‌ی داده‌ها از ابتدا، فقط شناسه‌های سبک (مانند لینک یا مسیر فایل) را نگه می‌دارد و هنگام نیاز، داده‌ی مرتبط را بازیابی می‌کند.

    برای نمونه، عامل «Claude Code» از همین شیوه استفاده می‌کند تا بدون بارگذاری کامل مخزن کد، تنها بخش‌های لازم را جست‌وجو کند. این فرآیند شبیه روش یادگیری انسان است؛ ما نیز همه‌چیز را به خاطر نمی‌سپاریم، بلکه می‌دانیم «کجا» باید به دنبال آن بگردیم.

    چالش حافظه در پروژه‌های بلندمدت

    1. فشرده‌سازی (Compaction): خلاصه‌سازی مکالمات و داده‌ها بدون از دست دادن اطلاعات حیاتی.
    2. یادداشت‌برداری ساختاریافته: ذخیره‌ی نکات مهم بیرون از پنجره‌ی کانتکست و فراخوانی آن‌ها در لحظه‌ی مناسب.
    3. معماری چندعاملی (Sub-Agent Architecture): تقسیم وظایف میان چند عامل تخصصی با حافظه‌های مستقل و تجمیع نتایج در عامل اصلی.

    جمع‌بندی

    مهندسی کانتکست، گامی فراتر از پرامپت‌نویسی است. در این رویکرد، توسعه‌دهنده دیگر تنها «دستور» نمی‌نویسد، بلکه «ذهن مدل» را طراحی می‌کند — ذهنی که بداند چه ببیند، چه به یاد بسپارد و چه فراموش کند.

    هرچند با پیشرفت مدل‌های زبانی، نیاز به ترفندهای مهندسی پیچیده کمتر می‌شود، اما مدیریت کانتکست همچنان یکی از ارکان حیاتی در ساخت عامل‌های دقیق، قابل اعتماد و هوشمند باقی خواهد ماند.


    منبع: Anthropic – تیم Applied AI
    نویسندگان: Prithvi Rajasekaran، Ethan Dixon، Carly Ryan و Jeremy Hadfield
    با همکاری: Rafi Ayub، Hannah Moran، Cal Rueb و Connor Jennings
    ویرایش و بازنویسی فارسی: تحریریه فناوری