متنفران فکر می کنند که عوامل هوش مصنوعی نمی توانند کد GPU بنویسند؟ این ROCm خواهد شد

ROCm لایه و زنجیره نرم افزار منبع باز یکپارچه AMD است که به توسعه دهندگان اجازه می دهد تا بر روی شتاب دهنده های سخت افزاری AMD برنامه ریزی کنند.
تماس با انوش در X.
تبریک به دارنده نشان پوپولیست Blitz در مورد کسب نشان در پاسخ آنها به Is there a way to view your apps dot entitlements file from your app’s IPA archive?.
(موسیقی مقدماتی STACK OVERFLOW)
رایان دونوان: سلام و خوش آمدید به پادکست Stack Overflow، مکانی برای بحث در مورد همه چیزهای نرم افزاری و فناوری. اسم من رایان دونوان است و امروز در مورد برنامه نویسی GPU صحبت می کنیم. و نه فقط بر روی آن برنامه نویسی کنید، بلکه آن را با هوش مصنوعی انجام دهید. مهمان من برای این کار انوش النگوان است که معاون نرم افزار AMD است. پس به نمایش خوش آمدی انوش.
انوش النگوان: ممنون از حضور من، رایان.
رایان: خوشحالی من قبل از اینکه به موضوع امروز بپردازیم، میتوانید کمی در مورد نحوه ورودتان به نرمافزار و فناوری توضیح دهید؟
انوش: خب، داستان خیلی طولانی است، اما…
رایان: دکتر دکتر
انوش: (می خندد) Tl;dr. من برنامه نویسی را از ده سالگی یا بیشتر در هند شروع کردم و در آن روز کارهای گرافیکی کامپیوتری زیادی انجام می دادم. سپس من علوم کامپیوتر را با تمرکز بر شبکه، امنیت شبکه انجام دادم، و سپس به آرامی به سیستم عامل ها، کار بر روی کروم و سیستم عامل کروم، کار بر روی تشخیص حرکات منجر شد. و سپس حدود ده سال پیش ما not.ai را شروع کردیم. این اتفاق افتاد… 13 سال پیش. زمانی که هوش مصنوعی در حال توسعه بود، روی کامپایلرهای ML متمرکز شد و ما در حال ساختن نرمافزاری بودیم که میتوان آن را با شتابدهندههای مختلف تطبیق داد و اعمال کرد. و سپس AMD حدود سه سال پیش ما را خریداری کرد. و ما به موتور نرم افزار اصلی AMD تبدیل شده ایم.
رایان: AMD در ابتدا به عنوان تامین کننده CPU شناخته می شد و شروع به تولید GPU و CPU های یکپارچه، دارایی های GPU کرد. با یک GPU، باید بتوانید روی GPU برنامه ریزی کنید. و اینجاست که AMD ROCm را به عنوان یک زبان برنامه نویسی مستقیم GPU همه منظوره دارد، درست است؟
انوش: بله
رایان: می توانید کمی در مورد ROCm و نحوه کارکرد آن به ما بگویید؟
انوش: بنابراین ROCm لایه نرم افزاری AMD است. و همانطور که گفتید، AMD از CPU، GPU، FPGA با Xilinx، FPGA رشد کرد. اما هر قسمت چیزی شبیه یک بسته پشتیبانی روی یک برد داشت. بنابراین این یک چیز باز کردن قفل سخت افزاری بود. این پلتفرمی نبود که در بالای همه این شتابدهندهها و اجزای سختافزاری که ما داشتیم باقی بماند. بنابراین ROCm به این زنجیره ابزار و لایه یکپارچه تبدیل شده است که به مشتریان امکان می دهد روی سخت افزار ما برنامه ریزی کنند. و به نظر یکپارچه میرسد، همانطور که میدانید، مانند زنجیرههای ابزار، اشکالزداها، و غیره. و این همه منبع باز است. این بخش کلیدی آن است. کدام با Cuda و غیره متفاوت است، درست است؟ کجا. ما می خواهیم اکوسیستم رشد کند. بنابراین این فلسفه زیربنایی است که همه کدهای منبع منبع باز هستند. و سپس به شما امکان می دهد سریع تکرار کنید، درست است؟ شما محدود به سرعتی نیستید که ما میتوانیم از برخی باینریهای منبع بسته پشتیبانی کنیم. ما از شما می خواهیم که ببینید منبع چیست، و ما می خواهیم شما نوآوری کنید و سپس بر روی آن بسازید. بنابراین این هسته ROCm است.
رایان: ما عاشق منبع باز اینجا در Stack Overflow هستیم. اما ظاهرا زبان و زنجیره ابزار ROCm باید با طراحی تراشه AMD مطابقت داشته باشد. میدانید که چقدر برای توسعهدهندگان منبع باز وجود دارد تا ویژگیهای خود را تحت فشار قرار دهند یا کد را تقسیم کنند؟
انوش: از حدود یک سال پیش، ما این تلاش را آغاز کردیم تا نه تنها کد منبع را باز کنیم، بلکه کل فرآیند توسعه را باز کنیم. درست است، بنابراین امروز اگر مشکلی پیدا کردید، یا باگ داشتید، یا میخواهید یک ویژگی اضافه کنید، میتوانید به ROCm GitHub بروید، ویژگی را ایجاد کنید، آن را ارسال کنید و فردا شب در آن گنجانده میشود. این یک پروژه منبع باز خالص است. از جمله فرآیند ساخت و هر چیزی که با آن مرتبط است.
رایان: می دانید، من با برنامه نویسی GPU آشنایی زیادی ندارم. من چیز کوچکی مانند برنامه نویسی CPU را دیده ام. چه نوع دسترسی مستقیم سخت افزاری در آنجا انجام می دهید؟
انوش: مثل اینکه خیلی مستقیم است. این همه مثل مستقیم به ISA است درست است؟ یکی از مزایای AMD این است که ما حتی مشخصات ISA را منتشر می کنیم، درست است؟
رایان: هوم
انوش: من می دانم که در سمت CPU اینطور است، با توجه به اینکه می دانید، خوب، دستورالعمل های x86 چیست؟ بنابراین شما می توانید یک اسمبلر بنویسید، می توانید یک کامپایلر بنویسید. پردازنده های گرافیکی اینطور نیستند، به جز پردازنده های گرافیکی AMD، درست است؟ بنابراین ما در واقع ISA را برای هر یک از GPUهایی که اجرا می کنیم مستند می کنیم. و ما به تازگی MI455 را ماه گذشته راه اندازی کردیم. و به محض انتشار، ISA را راه اندازی کردیم. بنابراین هر کسی در جهان میتواند کامپایلرها را دریافت کند، ابزارها را دریافت کند، به GPUهای ما برنامهریزی کند، برنامهنویسی GPU. اگر کمی بیشتر وارد جزئیات فنی شویم، کمی متفاوت است. جایی که به آن SIMD می گویند. مثل گروهی از رشته هاست. بنابراین شما در حال برنامه نویسی هستید، گروه های موازی پذیر زیادی از رشته ها، هزاران و هزاران رشته دارید که کارهای مشابهی را انجام می دهند. بنابراین برای موازی سازی سنگین خوب است. در برابر پردازنده ها، پردازش ها و رشته ها. شما ممکن است قابلیت تعویض بیشتری نسبت به آنچه کار می کند داشته باشید، درست است؟ شما می توانید یک سرور SQL و یک وب سرور و چیز دیگری داشته باشید، درست است؟ در حالی که در یک GPU معمولاً می گویید، اوه، من یک ضرب ماتریس انجام می دهم و ماتریس را به این صورت تجزیه می کنم. و در اینجا گروهی از 1000 رشته که این اجزای جداگانه را محاسبه می کند. و سپس آن را گروهبندی میکنم و آن را به 500 میدهم، و آن را گروهبندی میکنم و به 200 میآورم، یا میدانید، و سپس پاسخی را پیدا میکنم، درست است؟ بنابراین برای کارهای بسیار موازی خوب است، که بیشتر در بارهای کاری HPC، بارهای کاری علمی و البته بارهای کاری هوش مصنوعی دیده می شود.
رایان: روشی که من در مورد آن فکر می کنم این است که CPU دارای قطعات محاسباتی بسیار بزرگ است. یک GPU قطعات محاسباتی کوچک زیادی دارد، درست است؟
انوش: بله، اما این نیز یک راه است زیرا حافظه پنهان دستورالعمل شما و دستورالعمل های شما بین همه به اشتراک گذاشته می شود، درست است؟ این همان نوع کدی است که در تمام این رشته ها اجرا می شود. اما پردازندههای گرافیکی روز به روز پیشرفتهتر میشوند و به عنوان مثال، حوزه چیزی مانند تخصص Warp هستند، درست است؟ بنابراین شما کنترل جریان مشروط را در داخل برخی از این موارد انجام می دهید. و بعد شروع به شبیه شدن به CPU می کند، درست است؟ من نمی گویم به طور کلی اینطور است، اما شما شروع به انجام این کار کنید، خوب، این گروه، من باید این کار را انجام دهم، و شما باید این کار را تخصصی کنید، و می تواند زودتر تمام شود. و سپس باید مقداری حافظه را جابجا کنم. و همینطور. جالب است به عنوان یک دانشمند کامپیوتر، این یک زمینه جذاب و چالش برانگیز است.
رایان: من درک می کنم که بسیار چالش برانگیز است. من نوعی چیزهای CPU SIMD را دیده ام، و این دسترسی خام زیادی است، درست است؟
انوش: هوم
رایان: حتی برای توسعه دهندگان استاندارد شما کمی دور از دسترس به نظر می رسد. آیا اینطور است
انوش: بنابراین روشی که من تصور می کنم این است که بیشتر و بیشتر در حال تغییر است، درست است؟ به عنوان مثال، زمانی که مجبور بودید وارد برنامه نویسی CUDA یا ROCm، مانند هسته های هیپ، و مانند برنامه نویسی سطح پایین C شوید، این یک چالش بود زیرا از قبل این مانع را داشتید که باید معماری جدید ماشین را درک کنید و روی آن برنامه ریزی کنید و حافظه و محاسبات را جابجا کنید. و فقط تعداد کمی از کارشناسان آنجا بودند. اما با گذشت زمان اتفاقی که افتاد این بود که سطوح انتزاعی افزایش یافت تا همه ابزارها به DSL پایتونیک بیایند، درست است؟ بنابراین امروز می توانید هسته های GPU را در تریتون بنویسید و این کار را بسیار آسان می کند. بنابراین ما چیزی داریم، تریتون، چیزی به نام DSL وجود دارد که به شما پایتونیک میدهد… مثل اینکه، احساس میکنید در حال نوشتن یک برنامه پایتون هستید. شما در حال نوشتن یک برنامه پایتون هستید، اما در حال نوشتن یک برنامه پایتون برای یک ماشین SIMD و هسته های SIMD هستید. و ما برنامهنویسی GPU را به جایی رساندهایم که تمرینکنندگان ML در Pythonland زندگی میکنند، و به راحتی این شکاف را پر کردهایم تا برنامهنویسی روی GPU برای شما نسبتاً آسان باشد. اما این تنها بخشی از داستان است. شش ماه، هشت ماه گذشته، عامل هوش مصنوعی به تازگی آمده است و مانند آن، مانع را بیشتر کاهش داده است، درست است؟ به عنوان مثال، شما می توانید به معنای واقعی کلمه روی کد کلود بنشینید و بتوانید هسته را بشکنید. اگر فقط اشاره کنیدهسته چه کاری باید انجام دهد، آن را در آن قرار دهید و روی VLM یا SD lang سرو کنید. و به همین راحتی است، اینطور نیست؟ و این بخشی از استراتژی ما است، میدانید، ما باز بودیم، اما اکنون هوش مصنوعی را فعال کردهایم، درست است؟ بنابراین ما قبلاً همه قلابهای مجهز به هوش مصنوعی خود را دریافت کردهایم، بنابراین ROCm نه تنها بهترین آزمایشگاههای هوش مصنوعی را تامین میکند، بلکه به هوش مصنوعی نیز کمک میکند، بلکه کاملاً با هوش مصنوعی بازنویسی شده است، درست است؟ برای مثال، میدانید که میتوانید در واقع، بهینهسازهای عملکردی داشته باشید که توسط LLM هدایت میشوند. و یکی از جالب ترین ویژگی های این است که از آنجایی که تمام ROCm منبع باز است، همه مدل های مرزی ROCm را به عنوان زبان پایه خود می شناسند. چون همه چیز باز است. بنابراین آنها می توانند آن را تجزیه و تحلیل کنند، آنها مشخصات را درک می کنند، آنها این کار را انجام می دهند، آنها می دانند که نتیجه چیست، و بدنه فقط به رشد خود ادامه می دهد. در حالی که در یک سیستم بسته شما همه اینها را نمی بینید، درست است؟ بنابراین، مدلهای مرزی میتوانند ورودی و خروجی CUDA 12.1 را یاد بگیرند، درست است؟ این خوب است اما CUDA 13 چیزی اضافه می کند و باید چیز جدیدی از یک جعبه سیاه یاد بگیرد که با مثال ها و همه چیز بهتر می شود. اما برای ROCm، لحظه ای که PR را ارسال می کنید، مثل این است که این ها نشانه هایی هستند که می توانند از یک مدل مرزی یاد بگیرند، درست است؟ در قبل یا بعد از آموزش آموخته می شود، او می تواند آن را پیدا کند. و ما یک مزیت بزرگ برای سرعت بخشیدن به برنامه نویسی پردازنده های گرافیکی AMD می بینیم، زیرا آنها هم باز و هم هوش مصنوعی بومی هستند.
رایان: و من فکر می کنم چند چیز وجود دارد. من می دانم که برنامه نویسی GPU، برنامه نویسی سخت افزار به طور کلی، به نوعی حوزه برنامه نویسان خاص است. از آنجا که بسیار خاص است، می دانید، سطح بسیار پایین، بسیار نزدیک به نوع برنامه نویسی سیلیکونی است. من تصور میکنم که مردم در مورد واگذاری این موضوع به هوش مصنوعی کمی عصبی میشوند.
انوش: هوم (می خندد)
رایان: اما چیز دیگر، به نظر می رسد که شما انتزاعات بیشتری بین سیلیکون و توسعه دهنده دارید، که من آنقدرها انتظار ندارم.
انوش: نگاه من این است که آنها دیگر انتزاعی نیستند. ما فقط سطوح مختلفی را به شما می دهیم که بتوانید وارد آن شوید، درست است؟ مثل یک کیک چند لایه است. بنابراین اگر میخواهید در برنامهنویسی زیرزمین در اسمبلی حضور داشته باشید، میتوانید این کار را انجام دهید، درست است؟ بیشتر مردم دوست دارند در اتاق نشیمن بنشینند و… (می خندد) و به نظر راحت است. من پایتون خود را دارم، این را دارم، آن را دارم. یا برای برخی از افراد، اینطور است که، خوب، من میخواهم روی پشت بام باشم و تنها کاری که میخواهم انجام دهم این است که، میدانی، استراحت کنم و فقط رد شوم، درست است؟ بنابراین این یک کیک لایه ای است، اما ما به شما اجازه می دهیم از هر لایه ای که بیشتر با آن راحت هستید استفاده کنید. و به طور فزایندهای این لایهها با هم مخلوط میشوند، زیرا هوش مصنوعی به شما این امکان را میدهد که در لایهای متخصص شوید که قرار نبود، درست است؟ به عنوان مثال، من می توانم به روده های سیستم بروم و آن هسته GPU را دوباره برنامه ریزی کنم. و در حالی که من اصول سطح بالاتر و بیانیه تکلیف را دارم، یک نفر اکنون یک آسانسور در ساختمان ساخته است.
رایان: (می خندد)
انوش: بنابراین می توانم فقط بگویم، اوه، من فقط می روم زیرزمین را بسازم و می روم ببینم مشکل چیست. و بعد برمیگردم و دوباره روی پشت بام دراز کشیدم و میدونی، نوشیدم…
رایان: اگر به زیرزمین می روید، چه مقدار از آن به پیکربندی سخت افزاری خاص بستگی دارد؟ آیا این برای هر پیکربندی AMD صدق می کند؟
انوش: اینطور که من می بینم، پایین در زیرزمین ما آبگرمکن داریم، سیستم برق داریم. لوله کشی داریم (می خندد)
رایان: (می خندد)
انوش: بنابراین مطمئناً میتوانند CPU، GPU و NPU وجود داشته باشند، کارهای مختلفی که وظایف مختلفی را انجام میدهند، اما ما به شما این امکان را میدهیم که وارد شوید و جزئیات را مشاهده کنید. زیرزمین ما مقرون به صرفه است، بگذارید اینطور بگوییم، در مقایسه با رقبا، درست است؟ چیز ما مثل این است که برای هکرها ساخته شده است، برای توسعه دهندگان ساخته شده است، برای تاسیسات مستقل و هوایی ساخته شده است، جایی که شما می خواهید، خوب، در زیرزمین چه چیزی وجود دارد؟ من فقط هر شب صدای تپش می شنوم. (می خندد)
رایان: (می خندد) درست، درست، درست است.
انوش: با قیاس زیرزمین موافق باشید.
رایان: بله بله برای شخصی که روی پشت بام است و از هوش مصنوعی برای آن استفاده می کند، چه چیزهایی هستند که کدگذاری عامل ROCm به آنها اجازه می دهد انجام دهند؟
انوش: سقف در مورد سهولت استفاده است. این در مورد گرفتن نتیجه درست است؟ مثلاً، هی، من فقط می خواهم استراحت کنم و می خواهم تجارت الکترونیکی خود را انجام دهم یا هر چیز دیگری، یا باید برای تعطیلات خانوادگی برنامه ریزی کنم، درست است؟ به عنوان مثال، شما به نتایج نگاه می کنید. شما اهمیتی نمی دهید، تا زمانی که، می دانید، اصول اولیه شما کار می کند، درست است؟ بنابراین چیزی که ما با ROCm ارائه می کنیم، توانایی لایک کردن، پیوستن در هر سطحی است. اما در پایان، اگر هیچ ارزش معنیداری برای استفاده از هوش مصنوعی در پلتفرمهای AMD وجود نداشته باشد، بیمعنی است، درست است؟ بنابراین، با در نظر گرفتن این به عنوان مثال، ما محصولات قدرتمندی داریم که استفاده از آنها به طور فزاینده ای لذت بخش است، درست است؟ و بنابراین ما با یک مشتری و لپ تاپ شروع می کنیم. Strix Halo داستان پیشرو برای نتیجه گیری های محلی هوش مصنوعی در سه سال گذشته بوده است. true 128 گیگ رم داره. بنابراین می توانید مدل های بسیار بزرگ لپ تاپ را اجرا کنید، درست است؟ این لپ تاپ اصلی من است. و بنابراین شما به نتیجه می رسید، که این است که من اکنون می توانم از هوش مصنوعی بدون اشتراک کلود استفاده کنم. همچنان میتوانید از آن برای اطلاعات مرزی استفاده کنید، اما این چیزی است که ما با ROCm سمت کلاینت اجازه میدهیم. اما پس از آن، ما یک دسکتاپ داریم که در آن بازی میسازید یا برخی شبیهسازیهای پیشرفته دیگر را انجام میدهید، و آنها به چیزهای هوش مصنوعی نیاز دارند، درست است؟ و بنابراین ما توانایی آوردن هوش مصنوعی را به دسکتاپ ارائه می کنیم. و سپس وقتی به فضای ابری رسیدید، در مقیاس میدانید که همه مدلهای لبه در حال حاضر، در حال حاضر یا اکثر آنها در حال حاضر از AMD در مقیاس استفاده میکنند. و این مانند ده ها و هزاران پردازنده گرافیکی است که در مراکز داده قرار دارند تا هوشی را که شما در ChatGPT یا Claude یا Gemini استفاده کرده اید ارائه دهند، درست است؟
رایان: آیا دسترسی به GPU بدون استفاده از زبان برنامه نویسی GPU امکان پذیر است؟
انوش: تا جایی که می توانید با یک پردازنده انجام دهید. و همینطور. برای یک CPU، می توانید کد ماشین را در اسمبلی نیز بنویسید. و از اسمبلر برای تولید آن به بیت کد استفاده کنید. و شما یک لودر برای راه اندازی دارید. شما دقیقا می توانید این کار را روی یک GPU انجام دهید. روی پردازنده های گرافیکی ما دیگر پردازندههای گرافیکی، باید آنها را در زیرزمین بیندازید و امیدوار باشید که چیزی شبیه… (می خندد) درست است
رایان: درست است بله بله از زمان ظهور پردازندههای گرافیکی، بیشتر برای بازیها، و روزهای اولیه، فکر نمیکنم به آن به عنوان یک چیز جداگانه فکر کنم، درست مانند موارد کوچکی که در این مورد وجود دارد. اما، می دانید، به نظر می رسد هم داستان استفاده و هم داستان بهینه سازی با لمس مستقیم GPU وجود دارد.
انوش: بالاخره این یک ماشین قابل برنامه ریزی است، درست است؟ دارای معماری کلاسیک فون نویمان است. یک محاسبه وجود دارد، یک بار وجود دارد، یک فروشگاه وجود دارد، و یک حلقه وجود دارد. (می خندد)
رایان: بله، بله، بله.
انوش: بنابراین، از این نقطه نظر، نسبتا آسان است. اما شما به آن اشاره کردید، نه؟ در ابتدا به عنوان یک پردازنده مشترک و شتاب دهنده در نظر گرفته می شد. اما اگر در دوره CPU به آن نگاه کنید، ما به 486 و 487 نیاز داشتیم، که پردازنده مشترکی بود که کارهای ریاضی را انجام می داد، درست است؟ و حالا شما پردازنده های گرافیکی داشتید که GPU بودند. و تلاشی برای انجام فیزیک به عنوان یک پردازشگر جداگانه وجود داشت، درست است؟ اگه یادتون باشه اما پس از آن پردازندههای گرافیکی هدف کلیتری پیدا کردند که شروع به انجام فیزیک کردند. آنها شروع به شبیه سازی کردند، شروع به انجام کارهای دیگر کردند. و سپس به هوش مصنوعی برخورد کرد. و آنها مانند، اوه، این بهترین چیز از زمان برش نان است. و اکنون فکر میکنم اگر به سهم بازار نگاه کنید، پردازندههای گرافیکی مورد استفاده برای هوش مصنوعی بسیار بالاتر از پردازندههای گرافیکی هستند که در واقع برای گرافیک استفاده میشوند، از همان جایی که شروع شد.
رایان: بله، هرکسی که اخیرا اقدام به خرید کارت گرافیک کرده است، فشار بازار بر روی آن را درک کرده است. (می خندد)
انوش: بله و سپس مؤلفه هایی که وارد آن می شوند تاریخچه خاص خود را دارند، درست است؟ مانند حافظه و دیگران.
رایان: چگونه AMD طرز فکر آنها را در مورد هوش مصنوعی تغییر می دهد؟ آیا طرح های تراشه را با هوش مصنوعی برنامه نویسی می کنید؟ آیا با استفاده از هوش مصنوعی، روابط عمومی را به پایگاه موشکی هل می دهید؟
انوش: حدود شش ماه پیش، تقریباً برای هر مهندس اجباری بود که استفاده از هوش مصنوعی را شروع کند، درست است؟ و مثل یک دستیار نیست، مثل یک مامور است، درست است؟ بنابراین ما در حال تبدیل شدن به یک عامل بیشتر هستیم. بنابراین بخش نرم افزار بسیار قابل اندازه گیری است، درست است؟ خطوط کد وجود دارد، نتایج وجود دارد. من در 4 تا 5 ماه گذشته کد بیشتری نسبت به گذشته تولید کرده ام، می دانید، در طول عمر GitHub من، درست است؟ من فکر می کنم کاملا قابل توجه است. بنابراین تولید کد دیگر یک معیار نیست. درست مثل این است که خوب، شما به آن بگویید 10000 خط کد تولید کند و 10000 خط کد دریافت کنید، درست است؟ اما حالا باید به این فکر کنید که بعدش چه می شود؟ و به عنوان مهار آژانس. بسته نرم افزاری، بسته نرم افزاری متفاوت است. و اکنون باید به این فکر کنیم که مثلاً چگونه اعتبار سنجی سخت افزاری را به گونه ای انجام دهیم که بتوانیم از این حلقه های عامل استفاده کنیم، درست است؟ به عنوان مثال، آیا می توانیم آنالیز توان را بهتر انجام دهیم؟ آیا میتوانیم فرآیندها یا گرههای بهتری را از نظر لایک، کوچک شدن و غیره ایجاد کنیم، درست است؟ بنابراین من فکر می کنم تقریباً همه در AMD اکنون یک نماینده هستند. بنابراین، فوق العاده هیجان انگیز است زیرا یک شتاب دهنده برای AMD است. و ما می توانستیم از آنجا برویم، هی، ما پیگیری می کنیم که رهبر کجا می رود. به عنوان مثال، اکنون میتوانیم واقعاً به جایی که جن میرود، اسکیت کنیم، زیرا اکنون نیازی به انجام همان فرآیند کشف نداریم. و حالا با هوش مصنوعی، مثل این است که، اوه، ما برنامه کاری نداریم. عالی ما می خواهیم یک برنامه زمان بندی کار بنویسیم. دو ماه بعد روی 2000 پردازنده گرافیکی در حال تولید است و به سرعت در حال حرکت است، اینطور نیست؟ و بنابراین تکرار می کنم که گویی سرعت خندق است. هیچ چیز دیگری برای حفظ رقابت در دنیا وجود ندارد. این فقط در مورد سرعتی است که می توانید حرکت کنید و اجرا کنید. و ممکن است شکست بخورید، اما اگر سریع باشید، بهبود خواهید یافت، درست است؟ و پیش برو.
رایان: درست است سریع شکست. بنابراین شما در مورد حلقه های بازخورد و تکرار صحبت کردید. با نرم افزار، این قطعا سریع تر و آسان تر است. در مورد سخت افزار، کمی مشکل در مورد آن وجود دارد، زیرا، می دانید، سخت افزار واقعی یک چیز فیزیکی واقعی است که باید تولید و آزمایش شود.
انوش: ما مانند یک چرخه توسعه کاملاً یکپارچه با تیم های سخت افزاری را پشت سر گذاشتیم، درست است؟
هوم
و البته ما شبیه ساز داریم، شبیه ساز داریم، و سپس سیلیکون نهایی داریم. داریم به جایی می رسیم که… یک سال قبل از دانلود، نرم افزار آماده است. به عنوان مثال، دو سال پیش AMD به عنوان ROCm، ما می گفتیم، اوه، ما یک محصول را راه اندازی کرده ایم و می خواهیم آن را برای سه ماه آینده بهینه کنیم، چیزی شبیه به آن، درست است؟ اکنون محصول بهینه شده است، مثلاً شش ماه قبل از فراخوان، درست است؟ به عنوان مثال، قبل از اینکه سیلیکون خارج شود، ما قبلاً بهینه سازی را انجام داده ایم. بنابراین تا زمانی که سیلیکون برگردد، ما آماده هستیم، مثلاً، هی، فقط دکمه را فشار می دهیم و باید این کار را انجام دهد، می دانید، مشکلات یکپارچگی سیگنال را نشان می دهد، تأیید می کند که سیلیکون در جای درست است. برخی از تلورانس های ولتاژ و محدودیت های توان وجود دارد که باید آنها را تنظیم کنیم. همه چیز مانند چیزهای غیر قطعی است که ما فقط باید مانند سیلیکون با آنها برخورد کنیم، درست است؟ و همینطور. سپس فکر می کنید، خوب، همه چیز دیگر انجام شده است، درست است؟ اگرچه قبلاً گفته ایم که نسل بعدی و نسل بعدی را تکمیل کرده ایم، درست است؟ به عنوان مثال، نسل بعدی تایید شده است. بنابراین، این بود، من دوست ندارم زیاد از کلمه استفاده کنم، اما، می دانید، خیلی به چپ تغییر می کنم، اما …
رایان: (می خندد)
انوش: آنقدر فشرده شد که گذشت، می دانید… (می خندد) از طریق میدان چپ اما، بله. در حال حاضر، توصیه من این است که همه اعضای تیم سختافزار، مثلاً، لحظهای که ایدهای را مطرح میکنند، شروع ایده این است، مثلاً باید آن را داشته باشید، چیزی در نرمافزار، و نرمافزار کار میکند، درست است؟ مثل این است که بیایید یک دستورالعمل اضافه کنیم. عالی اولین اقدام مانند افزودن دستورالعمل به اضافه نرم افزار است و MVP شما حتی فکر کنید که آیا این دستورالعمل را اضافه کنم یا نه؟ درست است که به این معنی است که نرم افزار و سخت افزار تنها یکی هستند. از منظر مهندسی، شما با آن به عنوان یکی برخورد می کنید. انگار دارم کاری می کنم که این دو چیز کنار هم جمع شوند و توپ را جلو ببرم. سپس جدول زمانی گسترش می یابد، درست است؟ و سپس می گویید، خوب، سخت افزار زمان زیادی می برد، می دانید، فیزیک و همه چیزهای خوب. و سپس، نرم افزار مانند واقعیت است، مانند، می دانید، غیر قطعی بودن فیزیک. و سپس شما باید از آن بسازید. همچنین، پشتیبانی مداوم از پلتفرمهایی که پنج سال پیش ارسال کردیم، وجود دارد که همچنان میخواهیم از آنها پشتیبانی کنیم. بنابراین نرمافزار باید در طول عمر محصول زنده بماند و سپس در تحویل بعدی بازگردد.
رایان: بله درک من از شبیهسازی این است که شما قابلیتهای چیزی را که دارید به هر سختافزاری که از قبل وجود دارد ترسیم میکنید. آیا مواردی وجود دارد که به دلیل قابلیت های سخت افزار فعلی که روی آن کار می کنید، نمی توانید از سخت افزار آینده تقلید کنید؟
انوش: بله، من فکر می کنم شبیه سازی کار بسیار خارق العاده ای است، شما می توانید تعداد زیادی پایان نامه دکتری بنویسید درست است؟ اما اگر آن را از سطح محصول و کسب و کار پشتیبان بگیرید، آن را به عنوان منحنی شبیه سازی/شبیه سازی در نظر می گیرید، درست است؟ و سیلیکون واقعی شما شروع به کار می کنید، هی، آیا می توانم یک بررسی عملکردی انجام دهم؟ درست است، برای مثال، اگر من فقط چیزی داشتم که دارای ISA است، فقط می گوید که ISA ها به این شکل کار می کنند، اما معیار عملکرد وجود ندارد. مثل این است که، خوب، برنامه شما کار می کند و اگر آن دستورالعمل ها اجرا شوند، کار درستی را انجام می دهد، درست است؟ سپس، در سمت شبیهسازی، میتوانید کاری انجام دهید که شبیهسازیشده در CPU، شبیهسازی شده در خود GPU، مشابه چیزی که در موردش صحبت میکردید، درست است؟ که شبیه، هی، بیایید این را روی سخت افزار نسل قبلی تقلید کنیم. بنابراین، آنچه را که خواستهاید انجام میدهید، به این صورت که هی، یک انتقال دهنده داده تانسور اضافه شده است. بنابراین اکنون باید یک موتور داده تانسور را روی سخت افزار نسل قبلی تقلید کنیم. که خوب است. اما خوب، آیا واقعاً میتوانیم سیلیکونی را که قرار است چسبانده شود تقلید کنیم؟ اما باید این کار را در FPGA انجام دهیم. اما پس از آن ما به FPGA های بزرگ و مجموعه ای از FPGA نیاز داریم، بنابراین شما یک تراشه کامل را بر روی یک خوشه از 16 FPGA یا هر چیز دیگری شبیه سازی می کنید، درست است. و سپس شما سخت افزار نسل بعدی را با چیزی که گران است و به شکلی به هم متصل شده است تقلید می کنید. اما این به شما اطمینان می دهد که خوب، این چیز کار می کند، درست است؟ و سپس به فاز بعدی میرسی که مانند سیلیکون واقعی است و خطر قطعات سیلیکونی را حذف میکنی.
رایان: من فکر می کنم همانطور که شما گفتید نرم افزار و سخت افزار همگرا هستند. زیرا در برخی سطوح سخت افزار همان گیت های منطقی است که می توانید در ریاضیات بسازید. بنابراین، میخواستم در مورد نحوه استفاده تیم شما از هوش مصنوعی صحبت کنم. من با چند نفر در تیمهای بزرگ سازمانی صحبت کردهام که کارهای پیچیدهای را انجام میدهند، و بسیاری از مهاربندیهای آژانس از دماغه تا دم بسیار جالب از طراحی تا دیده شدن در حال انجام است. چه مقدار از SDLC شما عامل شده است؟
انوش: من می توانم بگویم بخش بسیار قابل توجهی است. اما نه کل چرخه. پس قیف این است… دروازه ها باز هستند، درست است؟ مردم مانند هستند، عجله می کنند و می گویند، هی، من این کار را می کنم. اما پس از آن نتایج کارگزار بودن هنوز به دست نیامده است؟ به این معنا که در حال حاضر مجموعه ای از عوامل را مدیریت می کنم. آنها همه کارها را انجام می دهند، از مثلاً سیستم عامل رسمی تأیید شده برای زنگ زدگی گرفته تا آزمایش آخرین، فکر می کنم Qwen 3.8 دیشب یا امروز صبح منتشر شد. من می خواهم عملکرد را بررسی کنم. همه آنها مانند عوامل فردی هستند که کار می کنند. من حدود 6 یا 8 نماینده دارم که کارهای مشابه، طولانی مدت و پیچیده ای را انجام می دهند که شروع شده اند. اما نکته کلیدی یک تیم این است که شما خواهید دید، مثلاً آنچه را که من واگرایی K شکل می نامم، درست است؟ به عنوان مثال، شما دست بالایی را خواهید گرفت که مردم به تازگی آن را پایین آورده اند. آنها فقط کد زیادی تولید می کنند. آنها نتایج بسیار زیادی ایجاد می کنند، اینطور نیست؟ فقط می گویند خب ما این را نداریم. من این کار را انجام می دهم این را می فرستم. و این دقیقاً مانند ده، 20 نفر یا 10، 20٪ از تیم شما است. و آنها دقیقاً مانند کشتی موشکی هستند، درست است؟ اما پس از آن یک توده عمومی خوب وجود دارد که مانند، خوب، ژنتیکی است. من می توانم مزایای آن را ببینم. من می توانم آن را در این مورد استفاده انجام دهم. من می توانم این کار را انجام دهم … آنها مانند اتاق نشیمن هستند، درست است؟ اگر شما… (می خندد) مثل…
رایان: (می خندد) درست است
انوش: اما بخش دیگری وجود دارد که، می دانید، شما به عنوان رهبران باید کمک کنند، درست است؟ به عنوان مثال، شما باید به آنها راحتی، ابزار و توانایی ارتقاء و یادگیری مجدد نحوه استفاده از جریان های عامل را بدهید، درست است؟ بنابراین وجود دارد… یک تئوری در مورد محل سقوط مردم وجود دارد. و، میدانی، فکر میکنم این مردم هستند، شما هر زمان که بخواهید چنین چیزی را خواهید داشت، درست است؟ افرادی خواهند بود که به آن فوق العاده علاقه مند هستند، افرادی که شک دارند. و ما این توزیع را درست مانند هر مکان دیگری داریم، درست است؟ اما من فکر می کنم که به عنوان رهبر ما می خواهیم سعی کنیم آن گوشه بالا و راست را هدف قرار دهیم. و ما می خواهیم از همراهی همه افراد در این سفر برای رسیدن به آنجا حمایت کنیم.
رایان: درست است و شما میخواهید بتوانید آن سیگنالهای اعتماد و انواع تأییدیههای داخلی و نردههای محافظ و همه چیزهایی از این دست را دریافت کنید. به عنوان مثال، آزمایش، مدل فعلی. من تعجب می کنم که شما چه نوع بررسی و کنترلی روی چنین فرآیندی دارید تا مطمئن شوید که وقتی اعداد را در پایان می اندازد، می توانید آنها را باور کنید.
انوش: دلیل موفقیت هوش مصنوعی با SDLC و مدل ها این است که قابل اندازه گیری است، درست است؟ بنابراین تمام کاری که می خواهم انجام دهم این است که خب. Qwen 3.8، مطمئن شوید که هست… اعداد GSM 8K با آنچه در مدل قبلی یا هر مدل دیگری می بینید مطابقت دارد. بنابراین بستههای آژانسی وجود دارند که واقعاً در اندازهگیری کیفیت مدلها و کیفیتی که در آن ارائه میشوند خوب هستند. بنابراین، حتی اگر مجبور باشید مقداری کوانتیزاسیون انجام دهید، این کار را برای شما نسبتاً آسان میکند، مثلاً این را عوض کنید و بگویید، هی، این کوانتیزاسیون، تخریب سردرگمی A یا B است، درست است؟ و این ممکن است قابل قبول باشد. زیرا شما اکنون در حال ارائه 10000 توکن بیشتر هستید. یا هر چیز دیگری. این یک سازش است. این یک مصالحه در طراحی سیستم است. هوش مصنوعی عاملی واقعاً متحول کننده است، اینطور نیست؟ و بیشتر و بیشتر به نقطهای میرسیم که قبلاً… این در حوزه نبود، خوب، چرا این کار را میکنید؟ این مدت زیادی طول خواهد کشید، اینطور نیست؟ مثل این است که می دانید، من درایور ویندوز را برای سخت افزار AMD بازنویسی کردم. مثلاً شش ماه پیش میگفتم، نه، این یک تلاش تیمی بزرگ است. چند ساله. ما باید این کار را انجام دهیم… اما حالا مثل این است که اوه، حالا می روم انجامش بدهم چون دارم خارش می کنم تا آن را بخراشم. بنابراین مانع ورود این پروژه های بزرگ به طور چشمگیری کاهش می یابد. این بدان معناست که اکنون میتوانید در واقع مسئولیت را به دست بگیرید و بالهای خود را باز کنید و بگویید، هی، من میخواهم کارهای بیشتری از این کار انجام دهم. بنابراین بهعنوان کاربر، شروع میکنید، دوست دارید، توانایی گستردهای برای لایک کردن به دست میآورید، در مناطقی گسترش میدهید که در گذشته نمیتوانستید انجام دهید. اما زمان بسیار هیجان انگیزی است. و فکر می کنم از شرکت در این تیک آف بسیار خوشحالم. و من فکر میکنم که تأثیر آن بر روی انسانها، نه فقط در فناوری، بلکه به طور کلی، بسیار قابل توجه خواهد بود، زیرا امیدواریم مردم بتوانند زمان بیشتری را صرف کارهایی کنند که به شهود انسانی، درک انسانی نیاز دارد، و اجازه دهند غرغر مانند، مالیاتدادن یا انجام این کار…
رایان: بله، این …
انوش: می تواند ژنتیکی شود، درست است؟ که قبلا در این سطح قابل ارائه نبود. قرار بود سطح بسیار خودکار تری از چیزها باشد، درست است؟ که خوب است. مثل این است که وقتی این یا آن اتفاق می افتد زنگ هشدار را به صدا درآورید، درست است؟ این یک به یک است. اما اکنون می توانید در واقع به ماموران پرسونا بدهید تا بروند و مانند رئیس ستاد شما باشند. یا برو امور مالی من را انجام بده و بر امور مالی من نظارت کن و کاری انجام بده. و سپس آن را بالا می برید، جایی که همه آنها به شما باز می گردند و می توانید در سطح بالاتری کار کنید.
(موسیقی پخش می شود)
رایان: خوب، این زمان نمایش است که در آن ما کسی را صدا می کنیم که به Stack Overflow آمد، کمی دانش را رها کرد، کمی کنجکاوی را به اشتراک گذاشت و نشانی را به دست آورد. امروز ما دارنده نشان پوپولیست را صدا می زنیم، کسی که پاسخی داده است که آنقدر خوب است که فراتر از پاسخ پذیرفته شده است. با تشکر از Blitz برای پاسخ، آیا راهی برای مشاهده فایل .entitlements برنامه شما از آرشیو IP برنامه شما وجود دارد؟ اگر در مورد آن کنجکاو هستید، در یادداشت های برنامه پاسخ را برای شما خواهیم داشت.
من رایان دونوان هستم، وبلاگ را ویرایش می کنم، پادکست را در اینجا در Stack Overflow میزبانی می کنم. اگر سؤال، نگرانی، موضوعاتی برای بحث دارید، میتوانید به ایمیل من در podcast@stackoverflow.com ایمیل بزنید. و اگر می خواهید مستقیماً با من ارتباط برقرار کنید، می توانید من را در لینکدین پیدا کنید.
انوش: من انوش النگوان هستم و از رایان تشکر می کنم که من را دارید. میتوانید من را در X پیدا کنید. آدرس من @AnushElangovan است و میتوانید در amd.com درباره AMD و ROCm اطلاعات بیشتری کسب کنید.
رایان: باشه ممنون که گوش دادید و دفعه بعد با شما صحبت خواهیم کرد.
(موسیقی پخش می شود)




