Ну зачем пугать людей с первого же пункта? На гитхабе llama.cpp раздел релизы вовсе не пустой, и более того появляется по несколько релизов в день, так что что-то собирать есть смысл только если уж очень свербит и не подождать несколько часов появления нового релиза.
Вообще вот абсолютно минимальный QuickStart локальной нейронки:
Качаем с гитхаба llama.cpp релиз под вашу архитектуру, распаковываем куда больше нравиться
Качаем с HuggingFace понравившуюся модель в формате gguf, ложим куда нравиться
А вы не проверяли повторяемость результатов при одинаковых вводных? А то может оказаться что ваша таблица на 90% состоит из рандома, т.к. одна и та же нейронка может как найти адекватное решение так и упороться не в ту степь или просто поломать синтаксис.
Отдельно упомяну MTP (speculative decoding). В теории эта технология должна повышать скорость генерации токенов в 1,5-2 раза, но видимо только в режиме "болталки", т.к. в моём случае модель была примерно на 15% медленнее, чем таже самая, но без MTP.
Пробовали менять число предсказываемых токенов (--spec-draft-n-max)? Его надо подбирать под свое железо, иначе да - накладные расходы могут превышать профит.
А зачем, образно говоря, пользоваться палкой-копалкой, если можено использовать экскаватор? IDA и гидра анализируют логику и декомпилируют в действительно сишный код, который, хоть и с допиливанием, можно где-то использовать. А с этим что делать и кому это вообще нужно? Это же по сути аналог ассемблера с си-подобным синтаксисом, к тому же еще и не полный - даже call не может распарсить.
NES: CHR ROM/RAM: 8 KB на картридже (тайлы) Картридж PRG/ROM: до 512 KB
Откуда взялась цифра 512 KB? Максимальный объем PRG ROM безмапперного картриджа 32Кб, если же использовать мапперы то лимит зависит от маппера, а теоретического предела вообще нет - хоть гигабайт поставь (то же относится и к CHR ROM).
При регистрации клиента просить предоставить публичный ключ скажем RSA-4096. Рассматривать только сообщения, подписанные этим ключем, не подписанные - в /dev/null. Если клиент пролюбил ключ - ССЗБ. Все прочее - полумеры.
Если считать такты на инструкцию то 6502 на первый взгляд эффективнее, однако не забываем что у Z80 в разы больше регистров и команд, в т.ч. есть 16-битные, а у 6502 всего 3 8-битных регистра и крайне скудная система команд.
В первой контре используется CHR ОЗУ для графики - вместо обычного ПЗУ. PRG ОЗУ вроде никакая контра не использует. Но существовали игры, которые использовали именно PRG ОЗУ, правда как правило для батареечных сохранений. Но и там на сколько я знаю больше 8кб в картридж не ложили, и даже если сложить всю доступную память получается намного меньше чем даже у 48го спектрума.
Главное отличие «Эльфа» от обычного «Спектрума» заключалось в банковской организации ПЗУ: всё постоянное запоминающее устройство приставки было разбито на банки размером по 16 КБайт, которые могли динамически подключаться в окно с адресами #0000–#3FFF.
Сбербанковской или альфабанковской? Такое управление ПЗУ использовалось в любом спектруме круче 48-го.
Но со временем игроки адаптировались к ним — для удобства нужно было просто держать манипулятор вверх ногами.
Ну и каково оно - играть на джое, где перепутано вверх-вниз и лево-право? Это точно человек писал?
Проблема заключалась в том, что советские разработчики умели в электронику и технологии, но не умели в рекламу и маркетинг
Если что - в мире в это время уже давно существовали 16-битные консоли и на подходе пентиум. Да и спектрумы не ограничивались 48м. Какой такой "маркетинг" помог бы впарить дорогущую устаревшую консоль с десятком доступных древних игр на дорогих носителях? Собственно показательный пример судьбы "импортозамещения" при столкновении с суровой реальностью.
Дело в том, что безвредно декапсулировать такие чипы нельзя, они с большой вероятностью трескаются
Да можно - можно феном размягчить компаунд, можно выжечь - народ делал. А если есть доступ к химии - можно кислотой стравить. Многие чипы для старых консолей не только вскрыты, но даже отреверсена схема.
слить дамп с помощью программатора и попытаться подсунуть в него свои игры
Народ на nesdev уже и сборщик прошивки написал.
Само процессорное ядро довольно экономичное, так что я до сих пор не понимаю, почему его не выпустили как конкурента атмеги с продвинутыми графическими и звуковыми возможностями.
Абсолютно бесперспективно: в основе старый проц с 3 (!) 8-битными регистрами и 16 разрядной адресной шиной (=64кб адресного пространства). Графическое ядро крайне замороченное. Нужна внешняя память. Возможности дешевой STM32 больше на порядок.
На самом деле вообще непонятно зачем нужы эти игры с дополнительными видеорежимами и командами процессора - старые игры их не поддерживают, а писать что-то сложнее меню для подобных приставок нет никакого смысла.
Можно начать с малого - ИБП постоянного тока и существующие БП на оборудовании. По вольтажу - надо исследовать, но навскидку - при питании от сети напряжение периодически падает в 0, при этом БП отдаёт энергию, запасённую в конденсаторах. В это время входное напряжение падает, т.к. конденсаторы рязряжаются. Т.е. БП по умолчанию должен работать с приличным диапозоном входных напряжений - т.к. иначе разоришся на конденсаторах. Оптимальное рабочее напряжение надо определить, но ИМХО что 230 что 300 - значения одного порядка. И кстати при заряде-разряде конденсаторов также теряется энергия, а если питать постоянкой - эти потери сводятся к нулю - т.е. экономия будет не только в ИБП, но и в самом оборудовании, которое вообще не трогали.
Всё еще проще - себя мы можем пронаблюдать примерно с расстояния до альфа центавра. Всё что дальше - можно обнаружить либо если они будут посылать непрерывный направленный сигнал, либо если они будут непрерывно вещать с тераваттными мощностями. Ну а чтобы стать заметными с межгалактических расстояний им придется сигналить с мощностью звезды.
ИБП (источники бесперебойного питания) работают по схеме двойного преобразования: сначала переменное → в постоянное, потом обратно.
Вот это кажется абсолютно лишним. 50Гц трансформаторов нет нигде, всё современное оборудование питается от импульсных БП, у которых входное напряжение сразу подаётся на выпрямительный мост и сглаживается конденсаторами. И какой смысл делать синус чтобы сразу опять его выпрямить? Может просто выкинуть лишние компоненты и забесплатно сэкономить пару % энергии?
Так с фиксированным seed-ом вы каждый раз будете получать одинаковый результат, как и при нулевой температуре.
Ну зачем пугать людей с первого же пункта? На гитхабе llama.cpp раздел релизы вовсе не пустой, и более того появляется по несколько релизов в день, так что что-то собирать есть смысл только если уж очень свербит и не подождать несколько часов появления нового релиза.
Вообще вот абсолютно минимальный QuickStart локальной нейронки:
Качаем с гитхаба llama.cpp релиз под вашу архитектуру, распаковываем куда больше нравиться
Качаем с HuggingFace понравившуюся модель в формате gguf, ложим куда нравиться
Запускаем: llama-server --model путь_к_нейронке.gguf
Всё готово! Запускаем браузер, заходим на 127.0.0.1:8080 и пользуемся.
А в чем вообще смысл ставить подобные мутные форки, когда есть официальная сборка и опенсорсный клиент?
А вы не проверяли повторяемость результатов при одинаковых вводных? А то может оказаться что ваша таблица на 90% состоит из рандома, т.к. одна и та же нейронка может как найти адекватное решение так и упороться не в ту степь или просто поломать синтаксис.
Пробовали менять число предсказываемых токенов (--spec-draft-n-max)? Его надо подбирать под свое железо, иначе да - накладные расходы могут превышать профит.
А зачем, образно говоря, пользоваться палкой-копалкой, если можено использовать экскаватор? IDA и гидра анализируют логику и декомпилируют в действительно сишный код, который, хоть и с допиливанием, можно где-то использовать. А с этим что делать и кому это вообще нужно? Это же по сути аналог ассемблера с си-подобным синтаксисом, к тому же еще и не полный - даже call не может распарсить.
Иннова те ещё редиски - ландо фришка, но мне и минимум еще одному человеку грохнули техническую статью тут, на хабре.
Откуда взялась цифра 512 KB? Максимальный объем PRG ROM безмапперного картриджа 32Кб, если же использовать мапперы то лимит зависит от маппера, а теоретического предела вообще нет - хоть гигабайт поставь (то же относится и к CHR ROM).
При регистрации клиента просить предоставить публичный ключ скажем RSA-4096. Рассматривать только сообщения, подписанные этим ключем, не подписанные - в /dev/null.
Если клиент пролюбил ключ - ССЗБ. Все прочее - полумеры.
Если считать такты на инструкцию то 6502 на первый взгляд эффективнее, однако не забываем что у Z80 в разы больше регистров и команд, в т.ч. есть 16-битные, а у 6502 всего 3 8-битных регистра и крайне скудная система команд.
В первой контре используется CHR ОЗУ для графики - вместо обычного ПЗУ. PRG ОЗУ вроде никакая контра не использует.
Но существовали игры, которые использовали именно PRG ОЗУ, правда как правило для батареечных сохранений. Но и там на сколько я знаю больше 8кб в картридж не ложили, и даже если сложить всю доступную память получается намного меньше чем даже у 48го спектрума.
Читая статью, приходится напоминать себе что речь идет о настоящем роботе, а не смартфонной операционке. Будущее наступило :)
Пo этим признакам очень похоже на ELRS (есть на гитхабе) или его модификацию. Так что можно взять готовый пульт и перепрошить.
Интересно как сторы относятся к подобным приколам в apk, его выложить то реально будет?
Да были же спектрумы с дисководом, тысячи их. И софт под них был. Дискеты дешевые, пиши что хочешь. Версия с картриджами была никому не нужна.
Сбербанковской или альфабанковской? Такое управление ПЗУ использовалось в любом спектруме круче 48-го.
Ну и каково оно - играть на джое, где перепутано вверх-вниз и лево-право? Это точно человек писал?
Если что - в мире в это время уже давно существовали 16-битные консоли и на подходе пентиум. Да и спектрумы не ограничивались 48м. Какой такой "маркетинг" помог бы впарить дорогущую устаревшую консоль с десятком доступных древних игр на дорогих носителях?
Собственно показательный пример судьбы "импортозамещения" при столкновении с суровой реальностью.
Ну а теперь заметят и пофиксят - делов то несколько новых опкодов добавить.
Да можно - можно феном размягчить компаунд, можно выжечь - народ делал. А если есть доступ к химии - можно кислотой стравить. Многие чипы для старых консолей не только вскрыты, но даже отреверсена схема.
Народ на nesdev уже и сборщик прошивки написал.
Абсолютно бесперспективно: в основе старый проц с 3 (!) 8-битными регистрами и 16 разрядной адресной шиной (=64кб адресного пространства). Графическое ядро крайне замороченное. Нужна внешняя память. Возможности дешевой STM32 больше на порядок.
На самом деле вообще непонятно зачем нужы эти игры с дополнительными видеорежимами и командами процессора - старые игры их не поддерживают, а писать что-то сложнее меню для подобных приставок нет никакого смысла.
Можно начать с малого - ИБП постоянного тока и существующие БП на оборудовании. По вольтажу - надо исследовать, но навскидку - при питании от сети напряжение периодически падает в 0, при этом БП отдаёт энергию, запасённую в конденсаторах. В это время входное напряжение падает, т.к. конденсаторы рязряжаются. Т.е. БП по умолчанию должен работать с приличным диапозоном входных напряжений - т.к. иначе разоришся на конденсаторах. Оптимальное рабочее напряжение надо определить, но ИМХО что 230 что 300 - значения одного порядка.
И кстати при заряде-разряде конденсаторов также теряется энергия, а если питать постоянкой - эти потери сводятся к нулю - т.е. экономия будет не только в ИБП, но и в самом оборудовании, которое вообще не трогали.
Всё еще проще - себя мы можем пронаблюдать примерно с расстояния до альфа центавра. Всё что дальше - можно обнаружить либо если они будут посылать непрерывный направленный сигнал, либо если они будут непрерывно вещать с тераваттными мощностями.
Ну а чтобы стать заметными с межгалактических расстояний им придется сигналить с мощностью звезды.
Вот это кажется абсолютно лишним. 50Гц трансформаторов нет нигде, всё современное оборудование питается от импульсных БП, у которых входное напряжение сразу подаётся на выпрямительный мост и сглаживается конденсаторами. И какой смысл делать синус чтобы сразу опять его выпрямить? Может просто выкинуть лишние компоненты и забесплатно сэкономить пару % энергии?
А есть что-то похожее для андроида относительно новых версий?