Раз в иногда пишу лонги про геймдев-геймдизайн dtf.ru/1862228
Лопатная пирамида
Лопатный пузырь)
Как золотая лихорадка. Только ИИ-лихорадка.
Ты спросил – зачем.
Есть смысл изучать такие вещи даже если ты занимаешься чем-то казалось бы весьма остранённым как пхп, и об это я написал. Но это требует желания развиваться. А тот у кого желание есть – смысл найдётся.
Сам вопрос задал, сам ответил. Какой ты самостоятельный. Большой мальчик.
Программисты программистам – рознь. Большинство программистов не двигают мир вперёд, да. Точно также как и большинство музыкантов не становятся всемирно известны и не преображают мир своими работами, их песни не играют на улицах, в фильмах, и т.д. И не обязательно каждый прогрессивный программист кто двигает мир, математик. Отнюдь нет. Иногда просто программисты.
В программировании вообще два крупных лагеря, один очень академический, другой практический. Оба лагеря двигают прогресс. Оба лагеря изобретают языки программирования, библиотеки, но по-своему. Оба лагеря делают полезные изобретения которые переодически перенимают друг у друга. Потом прикладные программисты используют эти технологии. Так что глупо прям 100% какой-то один лагерь восхвалять и абсолютно антагонизировать противоположный.
Кичиться за некую академику и математику это точно такая же ложная альтернатива. Математики забывают то что они делают, это чисто что-то идеальное в некой модели, забывают что это будет работать на компьютере и какими реальными концепциями руководствуется компьютер и как это будет работать и храниться в памяти компьютера. И рождают тем самым порой монстров которыми пользоваться невозможно. Сугубо идеологические концепции которые плохо ложаться на реальность. Может даже внешне выглядят хорошо. Но работают плохо. Или наоборот.
Истина в балансе.
Можешь за него так не беспокоится, ему я уже дал всеобъемлющий ответ, насколько это возможно. Если у тебя будет что сказать, можешь тоже сказать.
На твой вопрос, зачем 1С программисту в это лезть – незачем. От программиста от 1Сника – только название. Это не программист, а продвинутый бухгалтер. Бухгалтеру нейронки незачем.
Питонист скриптовик – похожая ситуация. Питон создавался для непрограммистов. Они просто склеивают технологии где 99% работы происходит в нативных библиотеках которые питонист сам никогда не сделает. Потому что если бы работа программы реально была бы заключена в питоне и работе питониста, их программы были бы не просто медленные. А вооьще в тыщу раз ещё более невыносимо медленные. Благо почти никакой работы питон не делает и всю работу делают библиотеки а программист просто жонглирует библиотеками. Ему зачастую нейронки не нужны. Всё что они делают с нейронками это написать скрипт который соберёт из папки все файлы и скормят это нейронке. Это верх их мастерства. В этом программирования ноль. В таком нуле никакие нейронки и не нужны.
Пхп программист – у него вообще вообще задача супер специфическая. Сформировать текст формата HTTP Response. Будь то JSON или HTML, с хедерами. Сформировать текст задача максимально тривиальная и не требующая от программиста ума, и решается подставкой текста с шаблонами. В этом нету программирования, но это является приличной частью работы многих таких программистов. Им нейронки не нужны. Но они делают какой-то сервис или программу, где смысл программы лежит чаще всего глубже – в моделях, в контроллерах, в базе данных, и т.д. То что стоит ЗА этими HTTP-ответами. На тот же вопрос о том, зачем пхп программисту нейронки, ответ такой – если он хочет чтобы у него например автоматически в базе данных появилась колонка с переводом которую он может запросто отобразить подобно как на X не так давно ввели, или Reddit, то нужен нейронный перевод. Вот тебе и смысл нейронок. Разумеется перевод это сама по себе большая задача, это не про маленькие нейронки о которых я говорил вначале. Но я отвечаю пока на вопрос в общем – зачем пхп программисту могут быть вообще нужны нейронки. Иногда смысл есть.
Дальше давай сузим – зачем пхп программисту именно узко-специализированные тонкие быстрые нейронки. Да тоже масса применений… Например у текстового контента, у постов, на том же DTF, да и вообще почти на всех подобных сайтах, есть теги. Теги возможно проставлять автоматически. Можно нейронку обучить максимально легкую и маленькую которая ничего толком не умеет кроме как проставлять эти теги. Называется задача классификации. Популярная задача, эффективно выполняемая маленькими «тупыми» нейронками. Или другой пример – оценки сентимента, и использование этой информации в рекомендательных технологиях. Тоже без специализированных маленьких нейронок не обойтись. Есть нейронки которые генерируют embedding репрезентации по тексту, этакий вектор смыслов, тоже очень маленькие нейронки и не требующие даже видеокарт, по этой информации можно во всей своей базе данных эффективно показывать например – похожие посты. Ты конечно можешь придумать какие-то свои алгоритмы без нейронок. Но нейронки справляются с этой задачей отлично и быстро, дают неплохой результат, а если ты будешь костылить какой-то свой ручной алгоритм по поиску слов вместо эмбедингов нейронок, то получится хуже результат, к тому же медленнее, и дороже. Так что зачем платить больше. Всё это делают маленькие эффективные нейронки без кучи весов. И новые применения всё ищут и новые придумывают переодически.
Разумеется ты можешь сказать, мол, ну так это отдельный человек нужен, кто бы занимался нейронками. А пхп программист пусть там дальше просто склеивает базу данных с HTML и ничего больше не делает. Ну и если ты такую претензию бы дал – то я с ней соглашусь. Многие программисты могут заниматься своей узкой задачей и не развиваться в ширь. Многие так и делают.
Ну вот таких жонглёров джейсонами обычные ЛЛМ нейронки и заменяют эффективно. Так что можешь конечно не развиваться но твои задачи автоматизируются легко. Написать какие-то CRUD API стало легче чем когда-либо, спросив ллм-нейронку. Потому что в этом программирования – кот наплакал.
А там где есть реально программирование, там нейронки не справляются. Тот же геймдев: куча систем. Куча динамики. Намного более сложная логика чем у жонглёра джейсонами. Хотя я тебе даже для сайтов привёл пример где специализированные «легкие» нейронки могут пригодиться. А в играх там вообще поле непаханное, в тыщу раз больше пространство инвариантности. Индустрия ещё даже не начала нормально их использовать.
Вот в этом посте тебе показали как NVIDIA одну такую технологию придумала, для оптимизации текстур, с помощью легковесных нейронок. А применений миллион. Ещё только начинают придумывать.
Разумеется для среднестатистического пхп-программиста уровня 2007 года всё это магия непонятная и не нужная. Некоторым развитие не нужно принципиально. Пока не скажут мол есть такая библиотека, ну-ка склей в проект. Не они двигают мир вперёд, их такое положение вещей устраивает.
У меня к тебе один вопрос: ты хоть раз хоть одну нейронку сам обучил? Забудь про ЛЛМ. Просто перцептрон хотя бы?
Сможет ли нейронка сделать пузыри при взбалтывани и поворот жидкости в бутылке как Half Life alух?
will_smith_i_robot.jpg
«А вы сможете?»
100% геймдевов не смогут, с погрешностью 0.0000002%
Иначе говоря два человека в мире такое смогут, остальные нет))) так в итоге останется это в одной HL Alyx и в одном видосе на ютубе. Остальные будут только довольствоваться тем, что хоть кто-то пару раз это смог сделать.
Вообще кстати вот эта идея что мы «обучим максимально лёгкую нейронку на вполне узкую задачу используя только десятки параметров» была в головах у программистов в 2012-2020 году. Тогда программисты учили нейронки чтобы воспроизвести некоторые алгоритмы которые просто ручками будет сложнее сделать нежели чем нейронку под это обучить.
Раньше специалист по нейронкам был тот кто нейронки обучить мог. Это сегодня «специалист по нейронкам» никто иной как промпт-специалист, кто даже ни одной геройски не обучил сам. Я в 2018 тоже учился нейронки обучать. Потенциал увидел. Иногда реально проще нейронку под некоторые задачи создать, нежели чем самому алгоритм писать. И такие нейронки раньше делали легковесными. Если не десятки то может быть сотни, ну тысяча параметров. Не миллионы и не миллиарды. И там делали всякие функции например органичная балансировка в пространстве и «роевовое» движение объектов и прочие приколы которые написать руками конкретный алгоритм либо сложно, либо работать он будет медленно. Поэтому написание нейронки для алгоритма в 2018 это было чем-то вроде оптимизации алгоритмов где не нужна абсолютная математическая точность.
Это потом уже история повернулась в эту идею, а что мол мы не сделаем нейронку ваще для всего. Отсюда родились миллиарды параметров, требования 100гб GPU памяти, сбор данных всего мира, и т.д.
В 2018 цели использования нейронок в программировании тоже были вот такие, оптимизационные :)
Использовалось это не очень часто потому что во-первых это просто не везде нужно, требует весьма специфических условий задачи где это может быть полезно. Плюс требует специфических знаний. Плюс не так просто предсказать где реально будет выигрыш если натренировать нейронку. Это нужно писать и писать эти нейронки, создавать их десятки штук, чтобы лучше чувствовать эффективную область применения. А это можно сказать своя ветка развития, специализация. Ты уже немного не программист, а нейронный программист. Поэтому далеко немногие вот так специализировались. Но то было 2018, а сейчас вообще этот slang и ещё больше специализация получается. История циклична.
Но вообще да – идея натренировать легковесную нейронку на алгоритм, которая быстро обучается, и эффективно выполняет алгоритм, это не новая идея. Так и делали. До того как придумали эту идею ЛЛМ которая как бы «может всё» посредством языка, лишь бы всех миллионов-миллиардов параметров хватило, и данных, так что всё свелось сначала к данным, а потом и к железу. Прямо как в 1980 когда тоже уже думали что будут всё нейронками делать но уперлись в железо. История циклична :)
Ты вот думаешь что компрессия текстур специфическими созданными для этого мини-нейронками это хорошая идея. Я вот думаю что создавать мини-нейронки для отдельных задач может быть хорошей идеей. Но только вот каких – это вопрос весьма обширный. Может какие-то маленькие интеллекты каких-то негуманоидных существ в играх. Есть прекрасный алгоритм на нейронках для косяка рыб, и есть что-то из физики типа удержание баланса в пространства, и прочие прикольные решения, которые на нейронке работают быстрее чем реальный алгоритм. Чтобы обучить такую легковесную нейронку, всё равно требуется написать алгоритм, так что не то чтоб ты экономишь работу 😀 иначе говоря, точно такая же есть ситуация в программировании, как с этой NVIDIA.
Может быть PATHFINDING можно на нейронке сделать, чтобы снизить сложность алгоритма с O(n^2) до O(1) ценой точности, которая не всегда нужна.
К сожалению в программировании этот подход к написанию своих маленьких нейронок, абсолютно затмили ЛЛМ, так что когда речь идёт о нейронке+алгоритм сразу ассоциация: ЛЛМ. Миллиарды параметров. Медленные ответы. Гигабайты видеопамяти. А не легковесные мгновенно-отвечающие нейронки на свою узкую функцию которые ты обучаешь сам на своих «медленных» алгоритмах. LLM-сети переключили на себя внимание. Может быть когда-то тут тоже люди сделают шаг назад и будут развивать направление маленьких легковесных нейронок. Потому что они порой могут то, что большие нейронки никогда не смогут.
отсюда же мегалифты - пока ты ехал - уровни незаметно подгуржались
Это не было строгой необходимостью. Была огромная куча мест где без всяких лифтов одна локация подменяется на другую на лету, без всяких лифтов, и без дропов фпс, без экранов загрузки.
Не просто где-то в популярном.
У меня это самый первый пост на главной