PyTorch Howsam
3.23K subscribers
363 photos
48 videos
6 files
502 links
از هوش مصنوعی میگیم...

ارتباط با ادمین
@howsam_support
Download Telegram
مدل زبان بینایی LightOnOCR-1B

هدف، تبدیل اسناد و اطلاعات کسب و کار به فرمتی است که ماشین‌ها بتوانند آن را درک و استفاده کنند، نه صرفاً تشخیص متن.
این مدل با سرعت بی‌سابقه‌ای (حدود ۶.۴۹ برابر سریع‌تر از مدل‌های مشابه) کار می‌کند و عملکردی در سطح یا بهتر از مدل‌های بسیار بزرگتر عمومی دارد.

Introducing LightOnOCR-1B
از طرف سارا:

یه نوشته‌ی جالب دیدم امروز:

I graduated in Computer Science in the early 2000s.
When I took a Databases class, NoSQL didn't exist.
When I took a Computer Graphics class, OpenGL didn't support shaders.
When I took a Computer Security class, no one knew about botnets yet.
When I took an Artificial Intelligence class, deep learning didn't exist.
When I took a Programming Languages class, reactive programming wasn't a «thing».
When I took a Distributed Systems class, there was no Big Data or cloud computing.
When I took an Operating Systems class, hypervisors didn't exist (in PCs at least).
When I took a Networking class, there was no wifi in my laptop or internet in my phone.

Learn the fundamentals. The rest will change anyway.

ترجمه:
من اوایل دهه‌ی ۲۰۰۰ در رشته‌ی علوم کامپیوتر فارغ‌التحصیل شدم.
وقتی درس پایگاه داده می‌خوندم، چیزی به نام NoSQL وجود نداشت.
وقتی درس گرافیک کامپیوتری داشتم، OpenGL هنوز از شیدرها پشتیبانی نمی‌کرد.
وقتی درس امنیت کامپیوتر می‌گذروندم، هیچ‌کس چیزی درباره‌ی بات‌نت‌ها نمی‌دونست.
وقتی درس هوش مصنوعی داشتم، یادگیری عمیق هنوز به وجود نیومده بود.
وقتی درس زبان‌های برنامه‌نویسی می‌خوندم، برنامه‌نویسی واکنشی اصلاً «چیزِ معروفی» نبود.
وقتی درس سیستم‌های توزیع‌شده می‌گذروندم، نه داده‌های عظیم (Big Data) وجود داشت، نه رایانش ابری.
وقتی درس سیستم‌عامل داشتم، هایپروایزرها (hypervisors) هنوز وجود نداشتن (حداقل توی کامپیوترهای شخصی).
و وقتی درس شبکه می‌خوندم، نه لپ‌تاپم وای‌فای داشت، نه گوشیم اینترنت.
پایه‌ها رو یاد بگیر. بقیه‌اش بالاخره عوض می‌شن.

دو تا مسابقه جدید و جالب در کگل!

مسابقه اول: لینک
Recod.ai/LUC - Scientific Image Forgery Detection
تصاویر علمی بخش مهمی از پژوهش‌های منتشرشده هستند، اما همه‌ی آن‌ها صادقانه نیستند.
به حفظ سلامت علم کمک کنید؛ با ساخت مدل‌هایی که بتوانند دست‌کاری‌های تقلبی از نوع "کپی و جابه‌جایی" (Copy-Move Forgery) را در تصاویر بیولوژیکال شناسایی و سگمنت کنند.

دیتاست تصویری: 9 گیگابایت

مسابقه دوم: لینک
PhysioNet - Digitization of ECG Images
شما قرار است مدل‌هایی بسازید که بتوانند داده‌های سری زمانی را از تصاویر الکتروکاردیوگرام (ECG) استخراج کنند.
ECGها برای تشخیص و هدایت درمان بیماری‌های قلبی استفاده می‌شوند و به شکل‌های مختلفی مانند پرینت‌های فیزیکی، تصاویر اسکن‌شده، عکس‌ها یا داده‌های سری زمانی وجود دارند.

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

دیتاست: 85 گیگابایت 😬
وحید درباره اجرای GPT-OSS 120 (مدل اوپن سورس OpenAI) پرسیده بود. رضا چنین جوابی بهش داد:
تقریبا همه مدل‌های سنگین تست کردم هیچ‌کدوم به خوبی GPT-OSS 120B نیست
روی i7 12700k, 128GB ram ddr5 ، بدون gpu با سرعت 10 الی ۱۹ توکن‌ بر ثانیه برات توکن جنریت می‌کنه و کارو درمیاره
ی مزیتش نسبت به جی‌پی‌تی آنلاین اینه که می‌تونی‌ context window رو هرچقدر دلت می‌خواد زیاد کنی.. و تا ته که زیاد کنی ۷۵گیگ کلا اشغال می‌کنه، البته با IDE و غیره و ذلک فکر کنم، دقیقشو بخوای فردا نگاه می‌کنم..

ی مورد عجیب این‌که ی تعدادی از لایه‌های مدل انداختم روی rtx 4070Titan 16GB ولی هیییچ تاثیری تو سرعت تولید توکن نداشت برای همین همه‌ رو انداختم رو رم و سی‌پی‌یو

کلا یا باید جی‌پی‌یوت‌ انقدر وی‌رم داشته باشه تا کل مدل بیاد رو vram یا بیخیال جی‌پی‌یو بشی..

Deep seek 70B
با سرعت ۰.۵توکن بر ثانیه رو کانفیگ ذکر شده توکن‌ تولید می‌کنه! کانتکست ویندو هم تا ته زیاد کنی ۱۱۸گیگ رم اشغال می‌کنه


دلیل تفاوت سرعت بین این دو مدل اینه که gpt-oss از ساختار mixture of experts استفاده می‌کنه
Audio
پادکست : بررسی خطرات امنیتی در AI Browser Agents

The glaring security risks with AI browser agents

ChatGPT Atlas is vulnerable

Prompt Injection Attacks
امروز، مدل زبانی انکدری Jina AI رو تست کردم.
این مدل، چند زبانی هست. با تست‌هایی که کردم، به نظرم عملکردش روی فارسی هم خوب هست. چند نمونه تست ساده رو در ادامه آوردم.

کدی که برای اجرای مدل در کولب نیاز دارید:
from transformers import AutoModel

# Initialize the model
model = AutoModel.from_pretrained("jinaai/jina-embeddings-v3", trust_remote_code=True)

texts = [
...
]

embeddings = model.encode(texts, task="text-matching")

# Compute similarities
print(embeddings[0] @ embeddings[1].T)


اسکور شباهت رو اسپویلر گذاشتم. به نظرم، اول خودت حدس بزن و بعد اسکور رو نگاه کن.

نمونه 1: جملات مشابه از نظر معنا
texts = [
"هوا امروز خیلی گرمه.",
"دمای امروز بالاست و حسابی گرم شده."
]

score: 0.84

نمونه 2: جملات متضاد
texts = [
"من امروز حالم خیلی خوبه.",
"امروز خیلی ناراحتم."
]

score: 0.55

نمونه 3: جملات یکسان با کلمات متفاوت (پارافریز)
texts = [
"او به دانشگاه رفت.",
"او به محل تحصیلش رفت."
]

score: 0.8

نمونه 4: جملات کاملا غیرمرتبط
texts = [
"دیروز فوتبال دیدم.",
"سیب‌زمینی سرخ‌کرده خیلی خوشمزست."
]

score: 0.11

نمونه 5: تشابه چندزبانه
texts = [
"من عاشق یادگیری هوش مصنوعی هستم.",
"I love learning artificial intelligence."
]

score: 0.89
PyTorch Howsam
امروز، مدل زبانی انکدری Jina AI رو تست کردم. این مدل، چند زبانی هست. با تست‌هایی که کردم، به نظرم عملکردش روی فارسی هم خوب هست. چند نمونه تست ساده رو در ادامه آوردم. کدی که برای اجرای مدل در کولب نیاز دارید: from transformers import AutoModel # Initialize…
با همین مدل، بدون هرگونه آموزش/فاین-تیون، کامنت‌های دیجی‌کالا رو گروه‌بندی کردم. توی دیجی‌کالا، این امکان وجود داره که کامنت‌ها رو براساس یکسری مولفه فیلتر کنی (تصویر بالا). من هم اون فیلترها رو برداشتم و کامنت‌ها رو فیلتر کردم.

دیتاست دیجی‌کالا هم توی کگل هست. سر کلاس، همیشه میگم که روی این دیتاست‌ها کار کنید. تازه دیتاست‌های خوب دیگه‌ای هم از شرکت‌های بزرگ ایران در کگل هست. لینک
PyTorch Howsam
با همین مدل، بدون هرگونه آموزش/فاین-تیون، کامنت‌های دیجی‌کالا رو گروه‌بندی کردم. توی دیجی‌کالا، این امکان وجود داره که کامنت‌ها رو براساس یکسری مولفه فیلتر کنی (تصویر بالا). من هم اون فیلترها رو برداشتم و کامنت‌ها رو فیلتر کردم. دیتاست دیجی‌کالا هم توی کگل…
نحوه کار هم خیلی ساده هست:
1. کامنت‌ها رو تبدیل به بردار امبدینگ می‌کنی.
2. گروه‌ها رو تبدیل به بردار امبدینگ می‌کنی.
3. میزان شباهت بین کامنت‌ها و گروه‌ها رو می‌سنجی.
4. شبیه‌ترین‌ها رو از هر گروه انتخاب می‌کنی و نمایش میدی.

خروجی زیر برای 1000 تا کامنت هست:
🔹 Closest to 'اصالت کالا':
- کالا سالم جنس خوب تحویل به موقع قیمت مناسب (score=0.611)
- هدیه خریدم (score=0.525)
- جنس نسبتا خوبی داره، قیمتش مناسبه و خوب کش میاد (score=0.510)

🔹 Closest to 'کیفیت و کارایی':
- کیفیت عالیی (score=0.709)
- کیفیت خوب (score=0.688)
- کیفیت مناسب..سپاس (score=0.659)

🔹 Closest to 'قیمت و ارزش خرید':
- به نسبت قیمت ارزش خرید داره (score=0.871)
- ارزش خرید داره نسبت به قیمتش (score=0.817)
- با این قیمت ارزش خرید داره. (score=0.775)

🔹 Closest to 'ابعاد یا سایز':
- واسع سایزش میترسیدم ک خداروشکر اندازه شد (score=0.511)
- سایز کفش با توجه به جدول یک سایز بزرگتره (score=0.510)
- خوب بود اندازه مناسب. (score=0.500)

🔹 Closest to 'شباهت یا مغایرت':
- غیر اصل (score=0.502)
- خیلی خوشرنگ تر از چیزیه ک بنظر میاد (score=0.431)
- خیلی نازه دقیقا شبیه عکسیه که دیجی گذاشته
(score=0.430)


نتیجه واقعا بد نیست. دقت کن که بدون آموزش/فاین-تیون بوده. یک مورد جالب هم دیدم که توی نتایج بالا نیست. کامنت "کار راه اندازه" رو توی گروه "ابعاد یا سایز" گذاشته بود. 😁 جالبه که این مدل‌ها قابلیت Context Embedding دارن و می‌تونن بردار یک توکن رو باتوجه به معنی اون در جمله بسازن. ولی بازهم اشتباهات این شکلی رو می‌بینیم.
PyTorch Howsam
نحوه کار هم خیلی ساده هست: 1. کامنت‌ها رو تبدیل به بردار امبدینگ می‌کنی. 2. گروه‌ها رو تبدیل به بردار امبدینگ می‌کنی. 3. میزان شباهت بین کامنت‌ها و گروه‌ها رو می‌سنجی. 4. شبیه‌ترین‌ها رو از هر گروه انتخاب می‌کنی و نمایش میدی. خروجی زیر برای 1000 تا کامنت…
در ادامه کار دیروز، بخشی از کامنت‌های دیجی‌کالا رو با HDBSCAN کلاستر کردم. نتیجه کلاسترینگ رو در دو بعد با Plotly نمایش دادم. تصویر بالا، نتیجه کلاسترینگ رو نشون میده.

چرا Plotly؟ چون نمودار تعاملی میده. می‌تونی Zoom و Hover کنی. با حرکت روی سمپل‌ها میشه، متن کامنت هر سمپل رو هم خوند.

من این پروژه رو برای کلاسم در شرکت داتین ساختم. دوست داشتم یک ویدئوی یوتوب براش ضبط کنم، ولی بعد کلی زحمت بازدید نمیخوره، انگیزه آدم میخشکه! پروژه سختی نیست. اگه خواستید درمورد این کار بیشتر بدونید، فصل 5 کتاب Hands-on LLMs رو بخونید.

کامنت‌های دیجی‌کالا واقعا جالب هستن. دائما دیدگاه‌های جالبی از افراد میخونی. آخه "بهترین گزینه در بین بدترین‌ها" یعنی چی؟ 😁
Audio
زمان : 20 دقیقه
این مقاله از IBM پژوهشی جدید را معرفی می‌کند که نقاط کور فرهنگی مدل‌های هوش مصنوعی، به‌ویژه مدل‌های زبان بزرگ (LLMs)، را آشکار می‌سازد.
این تحقیق بر روی «تعارف» تمرکز دارد، که یک عمل ظریف و پیچیده در آداب‌دانی فارسی است که در آن معنای کلمات اغلب با نیت واقعی متفاوت است. محققان ابزاری به نام TaarofBench ساختند که شامل ۴۵۰ سناریوی نقش‌آفرینی روزمره است و نشان می‌دهد که مدل‌های پیشرفته هوش مصنوعی در درک ظرافت‌های فرهنگی این تعاملات به شدت ضعیف هستند و مانند غیربومی‌ها عمل می‌کنند.
این مطالعه همچنین سوگیری‌های جنسیتی را در پاسخ‌های مدل‌ها نشان داد، که اغلب پاسخ‌ها را بر اساس کلیشه‌ها توجیه می‌کردند، حتی زمانی که تعارف به‌طور مساوی برای همه جنسیت‌ها اعمال می‌شود.
نویسندگان هشدار می‌دهند که این شکست‌های قابلیت‌های عملیاتی فرهنگی می‌تواند منجر به سوءتفاهم‌های پرخطر در سناریوهایی مانند خدمات مشتری یا مذاکرات تجاری شود، که نشان‌دهنده نیاز به داده‌های آموزشی با کیفیت بالاتر برای تقویت آگاهی فرهنگی هوش مصنوعی است.

Persian Politeness Test AI Cant Pass
این دو تا مخزن آموزشی برای LLM Research و LLM Engineering محبوب هستن. داشته باشیم، بعدا بدردمون میخوره.

لینک زیر، مخزن آموزشی برای LLM Research هست. مقاله‌ها و کارها در سطح تحقیقات رو جمع‌آوری کرده. مثلا، TinyZero که یک پیاده‌سازی مینیمال، تمیز از DeepSeek R1-Zero هست.
https://github.com/Hannibal046/Awesome-LLM

لینک زیر، مخزن آموزشی برای LLM Engineering هست. یک عالمه پروژه روی این حوزه رو جمع‌آوری کرده. مثلا، پروژه‌های مبتنی بر ایجنت‌ها؛ پروژه‌های ساده مثل چت با ویدئوی یوتوبی یا مقاله‌های آرکایو هم داره.
https://github.com/Shubhamsaboo/awesome-llm-apps
بالاخره کتاب معروف Hands-on ML آغشته به پایتورچ منتشر شد!

مولف کتاب، بخش‌های کمی از کتاب رو رایگان منتشر کرده. مثلا، فصل 17 کتاب با موضوع Speeding Up Transfoermers الان رایگان در دسترس هست: لینک

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

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

دانشجویی به من تمرین تحویل داده؛ اسم نوتبوک Untitle10.ipynb هست. نوتبوک بدون هرگونه بخش‌بندی و توضیح ارسال شده. یکسری سلول کد همراه با خروجی در داخل نوتبوک قرار دارن. خروجی یکی دو سلول ارور هست که همونطوری ارسال شده. تمرین به دقت خونده نشده؛ در تمرین گفته شده بود که باید نوتبوک رو در کگل به اشتراک بذارید و یک سابمیت موفق هم داشته باشید.

حالا، تصور کن یک دانشجو صورت سوال/تمرین رو به دقت خونده باشه و دقیق بهش عمل کرده باشه. نوتبوک خوب و منظمی ساخته باشه. قطعا من معلم، خودم برای حفظ ارتباط با دانشجو تلاش می‌کنم.

خیلی از ماها برای شکوفایی فقط به یک فرصت نیاز داریم. خیلی از ماها دربه‌در دنبال همین یک فرصته هستیم. فرصت‌ها رو راحت از دست ندیم.