fbpx
6.8 C
София

Един ужасен начин за използването на ChatGPT

Най-четени

Даниел Десподов
Даниел Десподовhttps://www.kaldata.com/
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

Вчера във Фейсбук бе описан един по-особен аспект на ChatGPT, за който не осъзнавах, колко е страшен (жалко, че беше в личен пост). Представете си, че вашият мениджър ви изпраща следния имейл:

„Генерирах с помощта на ChatGPT необходимия код на езика за описание и проверка на хардуера SystemVerilog, който реализира една  моя идея. Просто го пооправи и го изпрати в производствения отдел, защото сроковете ни притискат“.

Защо това е толкова страшно? Защото в този случай ChatGPT е генерирал невъзможен код, който понякога на жаргон наричаме код, който не подлежи на синтез. Всичко това означава, че някакъв код всъщност има и след известно масажиране дори ще се компилира в симулатора, но от него чип в никакъв случай няма да се получи. Наистина няма как. За решаването на тази задача е необходимо да бъде написан съвсем друг код, в който и един ред няма да съвпада с кода на мениджъра.

Ситуацията е следната: мениджърът си мисли, че заедно с ChatGPT е свършил поне 90% от вашата работа, но на практика това, дори да оправим грешките в пунктуацията и в семантиката на функциите, е просто една спецификация от малко по-високо ниво на това, което трябва да бъде направено. Защо? Защото например типът string  не се обработва от синтезатора, а ако го заменя с големите битови вектори на SystemVerilog и разгърна необходимите цикли, то ще се получи такъв комбинаторен облак, че въпросният чип ще бъде с размер на куфар с латентности не от стандартните няколко пикосекунди, а цели секунди. И по принцип самият хардуерен дизайн на който и да било чип не започва с изпратения до мен код.

Когато се прави хардуерен дизайн алгоритъмът трябва да се съобрази и да изгради крайните автомати, конвейерите, поредиците, стековете, FIFO и т.н. и т.н. По принцип да превърнат несинтезируемия код в синтезируем през последните 35 години се опитват десетки от най-големите компании в тази област заедно с усилията на редица университети. Тази област се нарича high level synthesis. Постигнатите резултати засега са мизерни и към днешен ден всички компании ръчно пишат синтезируем код. Има съвсем малки изключения за някои съвсем нишеви области.

И защо в SystemVerilog  са предвидени несинтезируеми конструкции? За да бъдат описани и създадени тестове и модели, с които се сравнява поведението на синтезируемите блокове в симулатора.

На практика SystemVerilog включва в себе си няколко програмни езика.  В него има подмножество за определянето на netlist (графът с логическите елементи), подмножество за определяне обмена на информацията между регистрите (именно това е синтезируемото множество), поведенческо множество (има синтезируема и несинтеризуема части), както и отделни езици за constraint solvers, coverage bins и за темпоралната логика continuous assertions, като последните три не могат да се преведат смислено. Включени са още подмножествата switches и аналогово разширение, но аз тези не ги използвам в моята работа.

Но хайде опитайте се да обясните всичко това на мениджър, който не разбира тези неща. Той просто започва да гледа изпод вежди да заявява, че всичко това са подробности, работата е почти свършена, а ти само се бавиш, страхуваш се от новите технологии и се захващай за работа, като оттук нататък всеки ден ежедневно докладвай за постигнатото или ще те прехвърля в програмата за подобряване работата на служителите (евфемизъм за предупреждение за уволнение). Всеки, който има някакви способности в тази област веднага би си подал автобиографията в друга компания.

Добре че това не се случва с мен. Трите нива мениджмънт над мен много добре познават SystemVerilog и не се опитват да използват ChatGPT, който е наистина великолепен, но с нашата работа категорично не се справя.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iOS и Huawei!

Абонирай се
Извести ме за
guest

5 Коментара
стари
нови оценка
Отзиви
Всички коментари

Нови ревюта

Подобни новини