لیکوالان:
(۱) بین اتیواراتکون، د AWS AI لابراتوارونه؛
(2) سوجن کمار ګونګونډلا، د AWS AI لابراتوار؛
(۳) سنجې کرشنا ګوډا، د AWS AI لابراتوارونه؛
(4) Haifeng Qian، AWS AI لابراتوار؛
(۵) سنجې کرشنا ګوډا، د AWS AI لابراتوارونه؛
(۶) هانټین ډینګ، د AWS AI لابراتوارونه؛
(۷) کینګ سن، AWS AI لابراتوارونه؛
(۸) جون وانګ، د AWS AI لابراتوارونه؛
(9) جیاچینګ ګو، د AWS AI لابراتوار؛
(10 Liangfu Chen، AWS AI لابراتوار؛
(۱۱) پرمیندر بهټیا، د جي ای روغتیا پاملرنې (په AWS کې کار شوی)؛
(12) رمیش نالپاتی، ایمیزون AGI (په AWS کې کار شوی)؛
(۱۳) سودیپتا سینګوپتا، د AWS AI لابراتوارونه؛
(۱۴) بینګ ژیانګ، ګولډمن سیکس (په AWS کې ترسره شوی کار).
د لینکونو جدول
۳.۱. یادښت او ۳.۲. د ژبې ماډل استنباط
۳.۳. څو پوښتنې، څو سرلیکونه او عمومي شوي څو پوښتنې پاملرنه
۴. د شرایطو په اړه دوه اړخیزه پاملرنه او ۴.۱. هڅونه
۴.۲. فورمولیشن او ۴.۳. د حافظې IO پیچلتیا
۵.۱. د څو سرونو، څو پوښتنو، او څو ګروپونو پاملرنې وړتیاوو پرتله کول
۵.۲. د وړتیاوو د مساوي ماډلونو ځنډونه
ه. د شرایطو په اړه دوه اړخیزه پاملرنه
ج. د اټکلي کوډ کولو او ګړندي کوډ کولو تخنیکونو سره مطابقت
۲. اړوند کار
په ادبیاتو کې، د استنباط ځنډ او/یا د استنباط ښه کولو لپاره ډیری لارې شتون لري. کوانټائزیشن د ټیټ بټ ویډت نمایشونو لکه int8، int4، او fp8 په کارولو سره د حافظې کارول کموي (وی او نور، 2023؛ یاو او نور، 2022؛ ډیټمرز او نور، 2022؛ فرانټار او نور، 2022؛ کوزمین او نور، 2022؛ ژیاو او نور، 2022). کوانټائزیشن کله چې یوازې د ماډل پیرامیټرونو ته پلي کیږي د اوږدې ترتیب اوږدوالي او لوی بیچ اندازو سره د کمیدونکي پایلو وړاندیز کوي چیرې چې د حافظې لاسرسی او د ډاټ محصول پاملرنې سره تړلي محاسبه د ټول استنباط ځنډ باندې تسلط لري.
کمه پاملرنه (بیلټاګي او نور، ۲۰۲۰؛ ماشوم او نور، ۲۰۱۹؛ ظهیر او نور، ۲۰۲۰) د اوږدې مودې شرایطو او ګړندي استنباط لپاره د پاملرنې پیچلتیا کمولو لپاره په پراخه کچه مطالعه شوې ده. پوپ او نور (۲۰۲۲) د TPUs (ټولنیز einsum) لپاره غوره شوي څو اړخیزه ویشلو تخنیکونو په کارولو سره د لویو ژبو ماډلونو تولیدي استنباط موثریت څیړي ترڅو د ځنډ او ماډل FLOPs کارولو په اړه د پاریټو سرحد ترلاسه کړي. مقاله دا هم ښیې چې د څو پوښتنو پاملرنه د لوړ بیچ اندازې لاندې موثریت باندې ټینګار سره د 32x لوی شرایطو اوږدوالي ته اندازه کولو ته اجازه ورکوي. د مخ شوي پاملرنې (کوون او نور، ۲۰۲۳) د KV کیشې د حافظې مدیریت ته وده ورکوي په بلاکونو ویشلو او د نقشې کولو موخو لپاره د بلاک جدول په کارولو سره. دا طریقه په مؤثره توګه د متحرک کاري بار بدلونونو سره سمون لري او د حافظې ذخیره کولو اړتیاوې د ډیری محصول ترتیبونو کې د پرامپټ KV کیشې شریکولو له لارې کموي. په هرصورت، دا د KV کیشې د حافظې لوستل نه کموي.
د اټکل کوډ کول، او د هغې ډولونه د څو ترتیبي ټوکنونو وړاندیز کولو لپاره د کوچني مسودې ماډل کاروي، کوم چې د اصلي ماډل لخوا په موازي ډول پروسس کیږي ترڅو دا ډول ټوکنونه ومني یا رد کړي (چن او نور، 2023؛ لیویتان او نور، 2022؛ لی او نور، 2024؛ کای او نور، 2024؛ فو او نور، 2023). کلیدي مفکوره دا ده چې په هر ګام کې د څو ټوکنونو کوډ کول فعال کړئ، په دې توګه د اصلي ماډل د حافظې IO کارول کم کړئ. په هرصورت، د کوډ کولو ځنډ به لاهم د لویو شرایطو اندازو کې د KV کیش I/O بینډ ویت لخوا تسلط ولري، چیرې چې دوه ګونی پاملرنه کولی شي د کوډ کولو سرعت نور هم لوړ کړي. په لنډه توګه، زیاتیدونکی کوډ کول د ماډل بار کولو د امورت شوي حافظې IO کمولو باندې تمرکز کوي پداسې حال کې چې څو پوښتنې او دوه ګونی پاملرنه د KV کیش حافظه IO کموي.
۳. شاليد
۳.۱. یادښت
موږ په ټوله مقاله کې لاندې یادښت کاروو.
۳.۲. د ژبې ماډل استنباط
د ژبې ماډل لپاره ډیری استنباط سناریوګانې شتون لري، پشمول د بست استنباط او د واحد-سیاق بیچ نمونې (شکل 1). د بست استنباط هغه قضیې ته اشاره کوي چیرې چې موږ په یوه بسته کې ډیری ان پټونه یوځای پروسس کوو، او د هر بست شاخص لپاره په خپلواکه توګه وروسته ټوکنونه تولیدوو. په هغه قضیه کې چې د بست اندازه 1 وي، دا د واحد-سیاق انفرنس ته راټیټیږي. بله سناریو د واحد-سیاق بیچ نمونې ده چیرې چې موږ د یو واحد شرایطو پراساس ډیری ترتیبونه تولیدوو، چیرې چې د بست استنباط قضیې ترمنځ توپیر دا دی چې پریفیل یوازې د یو واحد شرایطو لپاره د KV کیچ ترلاسه کولو لپاره ترسره کولو ته اړتیا لري، بیا نورو بست شاخصونو ته خپریږي.
شکل ۱ د ژبې ماډل د استنباط دوه مرحلې هم ښیي: (a) د شرایطو کوډ کول یا مخکې ډکول او (b) د زیاتیدونکي کوډ کول. د شرایطو کوډ کول یو واحد فارورډ پاس ته اشاره کوي چې په شرایطو کې د ټولو ټوکن پوستونو لپاره د کیلي او ارزښت ټینسرونه محاسبه کوي. یوځل چې د کیلي او ارزښت ټینسرونه محاسبه شي، موږ دا کیلي او ارزښت ټینسرونه د زیاتیدونکي کوډ کولو مرحلې په جریان کې د پاملرنې میکانیزم لپاره د کارولو لپاره زیرمه کوو، کوم چې په ترتیب سره په یو وخت کې یو ټوکن تولیدوي [2].
د شرایطو کوډ کولو مرحلې په جریان کې، د حافظې ان پټ/آؤټ پټ (IO) عملیاتو سره په پرتله د فلوټینګ پوائنټ عملیاتو شمیر لوړ دی، د محاسبې پورې تړلي رژیم سره مطابقت لري چیرې چې ځنډ د FLOPs لخوا اغیزمن کیږي. په هرصورت، د زیاتیدونکي کوډ کولو په جریان کې چیرې چې موږ په یوه واحد پوښتنې نښه باندې پاملرنه ترسره کوو، دا د حافظې پورې تړلي رژیم ته راځي چیرې چې د هر حافظې لاسرسي لپاره د محاسبې شمیر تقریبا 1-to-1 دی (د جزیاتو لپاره ضمیمه D.1 وګورئ). د حافظې IO د لوړ بینډ ویت حافظې (HBM) (جیا او نور، 2018) څخه د چټک آن-چپ SRAM ته د لوستلو او لیکلو عملیاتو ته اشاره کوي چیرې چې اصلي محاسبه پیښیږي. د زیاتیدونکي کوډ کولو حافظه IO پخپله دوه برخې لري: (1) د ماډل پیرامیټر بار کول او (2) د KV کیچ بار کول. اجزا (1) د شرایطو اوږدوالی m یا د بیچ اندازې b په پام کې نیولو پرته ثابت دی چیرې چې اجزا (2) په m او b دواړو پورې اړه لري او په ټولیز حافظه IO غالب دي که چیرې m یا b لوړ وي، کوم چې کولی شي د استنباط لپاره د پام وړ خنډ شي. زموږ کار په عمده توګه د برخې کمولو تمرکز کوي (2).
دا مقاله د CC BY 4.0 DEED جواز لاندې په arxiv کې شتون لري .