در ابتدا باید بدانید که یک شبکه عصبی چگونه کار میکند. عمل پردازش در شبکههای عصبی با عبور دادن دادهها از میان شمار زیادی از لایههای محاسباتی انجام میشود. این لایههای محاسباتی شامل عناصر پردازشی یا گرههایی موسوم به نورون هستند که با یکدیگر در ارتباط اند. با این روش پردازش، شبکههای عصبی میتوانند در انبوهی از دادهها، الگوهایی را بیابند. نورونها، ورودی را از همسایگان بالادستی خود دریافت میکنند و یک سیگنال خروجی را محاسبه کرده و برای نورونهایی در پاییندست ارسال میکنند و نتایج، بین لایهها دستبهدست میشود تا اینکه نتیجه نهایی به لایه خروجی برسد. در این ساختار پردازشی، میزان اهمیت هر ورودی و تأثیرگذاریاش در نتیجه نهایی در قالب یک مقدار که به آن «وزن» میگویند، تعریف میشود. میزان اهمیت این ورودیها یا مقادیر این وزنها در جریان فرآیندی موسوم به آموزش شبکه عصبی تنظیم میشود. با نفوذ بیشتر دادهها به لایههای عمیقتر، شبکه اطلاعات پیچیدهتری را میآموزد و لایه خروجی، پیشبینی نهایی شبکه را تولید میکند که بر اساس محاسبات لایههای پیشین بهدست آمده است. اگر بخواهیم به آنچه توضیح دادیم با دید ریاضی نگاه کنیم، با یکسری عملیات ماتریسی یا به بیان بهتر با ضربهای ماتریسی ـ برداری و به بیان سادهتر با مجموعهای از ضربها و جمعها سر و کار داریم .
شکل۱. نمایشی از ساختار یک شبکه عصبی به زبان ریاضی.
پیادهسازی شبکههای عصبی روی سختافزارهای محاسباتی امروزی چندان بهصرفه نیست که بخش زیادی از این ناکارآمدی به طراحی این سختافزارها مربوط است. سختافزارهای امروزی الکترونیکی بوده و مبتنی بر معماری فوننویمان (Von Neumann) هستند (شکل ۲- چپ) . پیادهسازی شبکههای عصبی در معماری فوننویمان نیازمند برداشت و ذخیرهسازی مکرر دادهها است و در یک شبکه عصبی پیاده شده بر چنین سختافزاری، شاهد رفتوآمد دیوانهوار دادهها بین پردازنده و حافظه خواهیم بود و این یعنی مصرف برق زیاد. تا به امروز برای طراحی معماریهای الکترونیکی که مناسب پیادهسازی شبکههای عصبی مصنوعی باشند و سرعت محاسباتی بالا و توان مصرفی بهینهای را عرضه کنند، تلاشهای زیادی شده است.
شکل2. چپ: در معماری سختافزارهای پردازشی مرسوم، واحد حافظه و واحد پردازش از نظر فیزیکی جدا هستند و همین باعث اتلاف انرژی میشود. وسط: نمایش گرافیکی شبکههای عصبی. راست: طرحی از پیادهسازی اپتیکی شبکه عصبی.
شتابدهنده هوش مصنوعی
بهمنظور به حداقل رساندن نقایص معماریهای محاسباتی مبتنی بر فوننویمان برای پیادهسازی شبکههای عصبی، اغلب راهکارهایی که در سالهای اخیر ارائه شده مبتنی بر توسعه معماریهای الکترونیکی بوده که بهطور خاص برای پوشش دادن یک وظیفه طراحی شدهاند. پیگیری این روش به توسعه سختافزارهای الکترونیکی نورومورفیک منجر شده که نسبت به سختافزارهای مرسوم، در حوزه شبکههای عصبی عملکرد بهتری از خود نشان دادهاند (شکل ۳). در گامهای بعدی سامانههای الکترونیکی ـ اپتیکی برای پیادهسازی شبکههای عصبی آزموده شدهاند. با این همه در حالت کلی، افزایش سرعت و کاهش مصرف توان با استفاده از چنین معماریهای سختافزاری همچنان بهسرعت کلاک سختافزار و تلفات اهمی، محدود است.
شکل۳. نمونههایی از تراشههای نورمورفیک.
هرچه ساختار شبکه عصبی، چه نوع مرسوم الکترونیکی و چه گونههای جدید، پیچیدهتر میشود، مقادیر بسیار بیشتری از توان الکتریکی را میبلعد. بهمنظور یافتن راهکاری برای برطرفکردن این مشکل اساسی، مراکز پژوهشی و شرکتهای فناور بزرگ نظیر گوگل، آیبیاِم، تسلا، هوواوی و سامسونگ به توسعه شتابدهندههای هوشمصنوعی (AI accelerators) اقدام کردهاند؛ تراشههای ویژهای که سرعت و بهرهوری آموزش و آزمودن شبکههای عصبی را بهبود میدهند. برای مصرف انرژی تراشههای الکتریکی از جمله همین شتابدهندههای هوش مصنوعی، از نظر تئوری محدودیتی وجود دارد، یعنی تا حد مشخصی میتوان این مصرف توان را کاهش داد.
یک شتابدهنده شبکه عصبی برای اینکه بتواند در این زمینه بر رقبایی نظیر پردازندههای گرافیکی پیروز شود باید مصرف توان را بهطور قابلتوجهی پایین بیاورد تا استفاده از آن توجیهپذیر باشد. علاوه بر این، چنین شتابدهندههایی باید سریع، قابل برنامهریزی و جمعوجور بوده و بتوان آنها را روی شمار بیشتری از نورونها اعمال کرد (مقیاسپذیری). در حال حاضر مدارهای مجتمع با کاربرد خاص (ASIC) بهترین گزینه برای توسعه شتابدهندههای شبکه عصبی هستند. نمونههای پیشرفته چنین تراشههایی قادرند مصرف انرژی را به حدود ۱ پیکوژول بر MAC (سرنام Multiply And Accumulate) برسانند که حدود یک بیستم مصرف توان پردازندههای مدرن گرافیکی است. با اینحال حتی با بهترین معماری، بخش زیادی از انرژی صرف جابهجایی دادهها میشود، نه پردازش. راهکارهایی نظیر استفاده از مِمریستور برای برطرف کردن این مشکل مطرحشده که راهکارهای بیعیب و نقصی نیستند. در نتیجه برای دستیابی به بهرهوری سختافزاری در حوزه یادگیری ماشین، نمیتوان فقط به معماریهای الکترونیکی متکی بود.
راهکار نوری
شبکههای عصبی کاملا اپتیکی میتوانند جایگزین بسیار مناسبی برای پیادهسازیهای الکترونیکی یا اپتیکی-الکترونیکی باشند (شکل ۲-راست). به عقیده برخی از محققان میتوان تبدیلات خطی و حتی تبدیلات غیرخطی را با سرعت نور اجرا کرد و با سرعتهای بالا که شاید به فراتر از ۱۰۰ گیگاهرتز هم برسند و با کمترین میزان مصرف توان، آنها را در شبکههای نوری ارزیابی کرد. حالا بهخوبی مشخص شده که میتوان با یک لنز و بدون اینکه ذرهای توان مصرف شود تبدیل فوریه را اجرا کرد یا برخی از عملیات ماتریسی را بهطور اپتیکی بدون مصرف توان انجام داد. بااینحال، ابعاد فیزیکی قطعات اپتیکی نظیر فیبرها و لنزها، پیادهسازی شبکههای عصبی را با مشکل مواجه میکند، زیرا در شبکههای عصبی به تعداد زیادی نورون نیاز داریم و ابعاد این قطعات، کوچکسازی سختافزار پردازشی نهایی را دشوار میکند.
رایانش با نور و ساخت تراشههای نوری، چالش برانگیز است. تلاشهای گذشته در این زمینه با شکست روبهرو شده که از دلایل آن میتوان به دشوار بودن شبیهسازی عملکرد ترانزیستور با ادوات نوری و رفتار کموبیش غیرقابل پیشبینی نور اشاره کرد. اما رایانش نوری برتری خود را در حوزه یادگیری عمیق بهخوبی نشان میدهد. محققان معتقدند:«تراشههای نوری برای انجام عملیات ضرب ماتریسی که در یادگیری عمیق نقش مهمی ایفا میکند، بسیار مناسب هستند.»
ضرب ماتریسی روی سختافزار نوری
برای ضرب ماتریسی که در حقیقت مجموع مقادیر وزندهی شده است، ابتدا مقادیر، به سیگنالهای نوری تبدیل میشوند. هرچه عدد بزرگتر، شدت نور هم بیشتر. تراشه نوری، عملیات ضرب ماتریسی مورد نظر را به قطعات کوچکتری میشکند و هر قطعه را به یک سلول از تراشه میسپارد. برای درک عملکرد هر یک از این سلولهای محاسباتی، دو جریان آب را تصور کنید که به درون این سلول پردازشی جاری میشوند و نمایانگر پرتوهای نوری ورودی هستند. این سلولها نظیر شبکهای از حوضچهها و پمپها عمل میکنند. بهطوریکه پرتوها را تقسیم، سرعت آنها را کم و زیاد کرده و دوباره آنها را ترکیب میکنند. با کنترل کردن سرعت پمپها، این واحد پردازشی میتواند مقادیر مختلفی از آب را به هریک از جریانهای خروجی هدایت کند. در تراشه نوری، کانالهای سیلیکونی با دمای قابل تنظیم، عملکردی شبیه همین پمپها دارند. اتمهای سیلیکون وقتی حرارت میبینند کمی پخش میشوند و این، سرعت نور عبوری را تغییر میدهد. پرتوهای نوری که از چنین ساختاری و با سرعتهای مختلف عبور داده میشوند یکدیگر را تقویت یا تضعیف میکنند. یک کامپیوتر معمولی میزان حرارت را به گونهای تنظیم میکند که پرتوی حاصل در خروجی هر سلول معادل مجموع وزندهی شده ورودیها باشد. در حقیقت، گرمکنندهها وزن ورودی را مشخص میکنند و با تغییر دادن سرعت پرتوهای ورودی، به آنها وزن میدهند.
در ادامه به مثالهایی از تحقیقات صورت گرفته میپردازیم. همانطور که خواهید دید، این مثالها مبتنی بر تحقیقات دانشگاه اِمآیتی است و حتی دو شرکتی که از آنها یاد خواهد شد، شرکتهایی هستند که تأسیس آنها حاصل تحقیقات دانشگاه اِمآیتی بوده است. با این حال، مراکز تحقیقاتی دیگری هم هستند که روی این حوزه کار میکنند و ما در اینجا به آنها اشاره نخواهیم کرد.
اِمآیتی
محققان اِمآیتی پیادهسازی الگوریتمهای یادگیری عمیق روی شتابدهندههای نوری را مورد توجه قرار دادهاند و مدعیاند که این طراحی با توانایی انجام ضرب ماتریسی، سرعت و بهرهوری مصرف انرژی را بهطور چشمگیری بهبود میدهد. نمونه اولیه از این تراشه شامل بخشی موسوم به واحد تداخل نوری (OIU) است که با استفاده از پردازنده نانوفوتونیک قابل برنامهریزی (PNP) پیادهسازی شده و شامل ۵۶ تداخلسنج ماخ-زِندِر (MZI) قابل برنامهریزی است. محققان اِمآیتی موفق شدهاند هر پنج لایه PNP را روی تراشهای با طول کمتر از یک سانتیمتر جای دهند (شکل ۴ ). معماری نوری پیشنهادی این محققان موفق شده در یک آزمون، امتیازی حدود ۷۷ درصد بهدست آورد، حال آنکه یک کامپیوتر ۶۴ بیتی دیجیتال مرسوم در همان آزمون، امتیازی حدود ۹۲ درصد کسب کرده است. در این پیادهسازی برای صرفهجویی بیشتر در مصرف توان و فضای روی تراشه از روشهای پردازش سیگنال نوری و قطعات نوری فشردهتر استفاده شده است. بهاینترتیب، آنها موفق شدهاند از این تراشه برای توسعه شبکههای عصبی استفاده کنند که چندین برابر بزرگتر از شبکههایی است که تراشههای رقیب را پوشش میدهند.
Ryan Hamerly از آزمایشگاه تحقیقات الکترونیک میگوید: « محققان به دنبال فناوری هستند که قابلیت محاسباتی فراتر از محدودیتهای بنیادین مصرف انرژی داشته باشد.» او میگوید شتابدهندههای فوتونیک امیدبخش هستند، اما آنچه محققان اِمآیتی به دنبال آن هستند ساخت شتابدهنده فوتونیکی است که بتوان از آن برای شبکههای عصبی بزرگ استفاده کرد. Hamerly معتقد است: « اگر شتابدهنده فوتونیک توانایی پردازش بیش از صد نورون به ازای هر لایه را نداشته باشد، پیادهسازی شبکههای عصبی بزرگ با استفاده از آن معماری دشوار خواهد شد.»
در این روش پس از ضرب نوری ماتریسها، یک سیگنال خروجی الکتریکی ( و نه نوری) تولید میشود. نتیجه استفاده از این روش صرفهجویی قابلتوجه در فضای روی تراشه است. بنابراین تراشه قابلیت مقیاسپذیری بالایی دارد، بهطوریکه پیادهسازی شبکههای عصبی که در هر لایه خود بیش از یکمیلیون نورون دارند با چنین دستاوردی امکانپذیر میشود. بر اساس نتایج شبیهسازی، محققان اینطور نتیجه گرفتند که از نظر مصرف توان، این شتابدهنده برتری بسیار قابل توجهی نسبت به رقبای الکترونیکی و حتی نوری خود دارد. در حال حاضر، تقاضای رو به افزایشی برای اجرای شبکههای عصبی بزرگ روی مرکز دادهها وجود دارد و از جمله کاربردهای چنین شتابدهندهای کاهش مصرف انرژی در مراکز داده است.
شکل4. راهکار محققان اِمآیتی برای پیادهسازی شبکههای عصبی مبتنی بر تعامل و تداخل پرتوهای نوری.
شرکت Lightmatter
در سال ۲۰۱۴ نیکلاس هریس و همکارش در جریان تحقیقات مربوط به دکترای خود در دانشگاه اِمآیتی روی ترکیب فناوری اپتیک با رایانش کوانتومی کار میکردند. یک سال بعد این دو علاوه به رایانش کوانتومی بر حوزههایی دیگر از جمله هوش مصنوعی متمرکز شدند. هریس و همکارش مهندسانی بودند که اطلاع زیادی از راهاندازی کسبوکار نداشتند. به همین دلیل تصمیم گرفتند، دورهای آموزشی در زمینه کارآفرینی را در دانشکده مدیریت اِمآیتی بگذرانند و این فرصتی شد تا با توماس گراهام آشنا شوند. شرکتکنندگان در این دوره باید ایدههای تجاری را در قالب ویدیوهایی معرفی میکردند. گراهام ویدیویی را که هریس در زمینه رایانش نوری ساخته بود، دید و این ایده توجهاش را جلب کرد. این سه تصمیم گرفتند در رقابت کارآفرینی اِمآیتی شرکت کنند و همه تلاششان را برای بهدست آوردن پاداش ۱۰۰هزار دلاری این رقابت به کار بستند و با هم یک طرح کسبوکار ارائه کردند و در نهایت موفق شدند در سال ۲۰۱۷ با کنار زدن شمار زیادی از رقبا پاداش را به دست آوردند. برنده شدن در این رقابت راه را برای سفر به سیلیکونوَلی، و ملاقات با سرمایهگذاران بیشتر هموار کرد. در تراشهای که این استارتآپ توسعه داده بهجای واحد MAC که بخشی متداول در شتابدهندههای هوش مصنوعی است و وظیفه انجام عملیات ضرب و جمع متوالی را برعهده دارد، از واحد اپتیکی موسوم به تداخلسنج ماخ-زندر استفاده شده است.
البته متقاعد کردن سرمایهگذاران چندان هم ساده نبوده و آنها برای سرمایهگذاری روی چنین تراشهای به دلایل خوب نیاز داشتند. توماس گراهام به یاد میآورد که سرمایهگذاران میگفتند: « ثابت کنید که آنچه طراحی کردهاید چیزی بیش از یک پروژه تحقیقاتی است.» و حالا آنها موفق شدهاند اعتماد شرکتهای فناور مهمی را جلب کنند. دستیابی به چنین تراشهای آنقدر جذاب بوده تا شرکتی نظیر آلفابت از این استارتآپ حمایت کند.
این گروه هدفشان این است که تراشهشان با فریمورکهای محبوب هوش مصنوعی نظیر TensorFlow گوگل کار کند. هریس میگوید: «در مراکز داده دو جنبه بسیار مهم وجود دارد؛ حجم عملیاتی که در هر ثانیه انجام میشود و بهرهوری مصرف انرژی؛ یعنی اینکه در هر ثانیه و به ازای هر وات چه میزان پردازش انجام میشود.» او مدعی است راهکارشان بیش از ده برابر راهکارهای فعلی کارآیی دارد. شرکت او ۲۳ کارمند دارد و هریس معتقد است، در بازه زمانی ۵ تا ۱۰ ساله این تراشه عملیاتی خواهد شد. به گفته هریس، تلاش زیادی میشود که چنین دستگاههایی قابلیت «اتصال و اجرا» ( plug and play ) داشته باشد و بتوان از آنها به همان روشی که از پردازندههای گرافیکی استفاده میشود، در سامانههای پردازشی بهره برد (شکل ۵).
شکل۵. دکتر آرش حسینزاده از محققان Lightelligence در آزمایشگاه این شرکت.
شرکت Lightelligence
استارتآپ Lightelligence نمونه اولیهای از تراشه نوری ارائه کرده که میزان تأخیر را در مقایسه با سختافزارهای مرسوم تا ده هزار برابر بهبود داده و مصرف توان را به میزان قابلتوجهی کاهش میدهد. این شرکت توسط Yichen Shen راهاندازی شده است. او با همکاری گروهی از محققان اِمآیتی و از جمله نیکلاس هریس ( که پیش از این از او یاد شد) مقالهای در زمینه پردازندههای نوری نوشت و بعدها در قالب پروژه دکترای خود در اِمآیتی و زیر نظر Marin Soljacic یکی از استادان بخش فیزیک این دانشگاه، به تحقیق در زمینه پردازش نوری شبکههای عصبی پرداخت. او Lightelligence را ماهها بعد تاسیس کرد و استادش از نخستین کسانی بود که به هیئت مدیره شرکت پیوست. Soljacic معتقد است: « خیلی بهندرت اتفاق میافتد که استادی در دوران کاری خود به دانشجویی نظیر Yichen برخورد کند، حتی در اِمآیتی. او یک آیندهنگر تمامعیار و یک پیشگام در حوزه استفاده از مدارهای مجتمع اپتیکی برای هوش مصنوعی است.» روی این تراشه مدارهای نوری شبیه فیبرهای نوری که سیگنالها را منتقل میکنند، پیاده شده است. هدف طراحان این است که این تراشه قادر به اجرای فریمورکهایی نظیر Tensorflow شرکت گوگل، Caffe2 فیسبوک و Pytorch باشد. این شرکت مدعی است، عملکرد این تراشه در انجام ضربهای ماتریس برداری و سایر عملیات خطی که عامل مهمی در مدلهای هوش مصنوعی محسوب میشوند، بر اساس آزمون MNIST ( یک مدل یادگیری ماشین مرجع برای آزمودن کارآیی شبکههای عصبی) نزدیک به ۱۰۰ بار سریعتر از تراشههای الکترونیکی پیشرفته امروزی است. این شرکت تا به امروز موفق شده چندین میلیون دلار سرمایه را به خود جلب کند و بیش از ۲۰ کارمند دارد که شماری از آنها از مراکز تحقیقاتی نظیر کلمبیا، جورجیاتِک و برکلی به این شرکت پیوستهاند و از میان آنها میتوان به دکتر Gilbert Hendry اشاره کرد که سمتهای مختلفی در شرکتهای گوگل و مایکروسافت داشته است (شکل ۶).
شکل۶. طراحی شرکت Lightmatter شامل لایههای نرمافزاری، نوری و الکترونیکی است. سرمایهگذاری پرخطر و جذاب
یکی از تحلیلگران مؤسسه VLSI Research که نوآوریهای حوزه طراحی تراشهها را بررسی میکند، معتقد است که تمایل به تراشههای نوری جدید روبه افزایش است که این مدیون گامهایی است که برای طراحی و تولید دستگاههای مورد استفاده در شبکهها برداشته شده است. از سوی دیگر، ساخت تراشههای نوری به نسبت سادهتر است و ارزان تمام میشود و این نکته مهم باعث میشود که شرکتهای نوپا با رغبت بیشتری روی طراحی و توسعه چنین تراشههایی کار کنند.
با این حال، شرکتهایی نظیر Lightelligence با چالشهایی مواجه هستند. به عقیده مدیر استارتآپ OURS Technology حتی اگر چنین تراشهای آنطور که ادعا میشود کار کند، تولید انبوه آن دشوار است. بستهبندی و آزمودن تراشهای با طراحی کاملا جدید چالش بزرگی است، بهویژه اینکه ابزارهای مناسبی برای طراحی نرمافزار چنین تراشههای نوری موجود نیست ( که این خود میتواند برای استارتآپهای دیگر محرکی باشد تا روی توسعه چنین نرمافزارهایی کار کنند و این خلأ را بپوشانند). به عقیده او اگرچه نور ویژگیهای جذابی برای استفاده در رایانش دارد، اما مدارهای الکترونیکی را که لازم است از آنها در کنار اجزا نوری در تراشه استفاده شود نظیر راهاندازهای لیزر، مدارهای گیرنده فوتون و مدولاتورهای الکترونیکی روند طراحی را پیچیده میکنند.
علی پرتویی، یکی از بنیانگذاران شرکت نِروانا، (استارتآپی که روی تراشههای عصبی کار میکرد و بعدها توسط شرکت اینتل خریداری شد و در شمارههای پیشین ماهنامه شبکه به این شرکت اشاره کردیم) علاقهمند به سرمایهگذاری روی تراشههای نوری است. او که در کنار سرمایهگذارانی نظیر اوبر و مایکروسافت روی شرکتی تازه تأسیس به نام Luminous Computing سرمایهگذاری کرده است (شکل 7) میگوید: «من همیشه سرمایهگذاری روی گروههای جوان و خلاق را به سرمایهگذاری در شرکتهای بزرگ و تثبیت شده ترجیح میدهم. چنین سرمایهگذاریهایی بسیار پرخطرند، اما ارزشاش را دارند. چون اگر فرصت را از دست بدهیم و چنین رقابتی به سرانجام برسد، دیگر برای سرمایهگذاری خیلی دیر شده است.»
شکل۷. نمونهای از تراشه نوری طراحیشده توسط شرکت Luminous Computing
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟