Обновить
15
0.3
Дмитрий Гарбузов@SystemSoft

Просто разработчик

Отправить сообщение

И, жалко что тут все на ply, ибо на нём можно такие языки печатать днями.

Конечно, я не лигвинст, но ересь вообще вроде переводится как "выбор".

Для чего? Ну, я бы и не делал это если бы я не видел фрагментации. И тут я понял, что проблема в uasyncio. И в итоге я на следующий день придумал замену ему. Не полностью, но тогда понял что надо сделать. Я просто же на Pech писал ОС, и uasyncio "лучший" друг кучи. Побольше описания? Какого? Технического? Смыслового? Если технического - окей, могу тогда прямо ВСЕ фишки которые есть в коде выложить. Если смыслового - ну это уже для статьи, и там уже будет всё по полной - бенчмарки, смысл создания, как работает и всё такое.

ИИ нужен (для меня) для того, что бы я не совершил глупых ошибок в коде (как перепутал > и ==, или опечатки в названиях переменных). Также иногда помогает писать тесты и добавлять фичи.

Ну хотя бы без Value обходиться.

И вообще как писал @MAXH0, проще было сделать на марковских цепях.

Тогда скажите автору поменять заголовок "Возможно, самый гениальный код на python на сегодня: разбираем 200-строчный microgpt от Андрея Карпаты" на что-то другое хотя бы.

Я могу быть не прав, но плодить Value каждый раз может быть затратно.

Тут есть строчки которые могут и жрать много, и медленно работать:

attn_logits = [sum(q_h[j] k_h[t][j] for j in range(head_dim)) / head_dim*0.5 for t in range(len(k_h))]

Это же O(n²). А O(n²) всегда медленнее, и жрать может много.

Вот ещё:

def softmax(logits):
    max_val = max(val.data for val in logits)
    exps = [(val - max_val).exp() for val in logits]
    total = sum(exps)
    return [e / total for e in exps]
  1. Поиск максимума.

  2. Вычисление экспоненты (самая дорогая функция для CPU без FPU).

  3. Суммирование.

  4. Деление каждого элемента.
    Всё это — огромный граф в Autograd (объекты Value), который сожрёт всю RAM.

Я конечно знаю что у нас есть много RAM, но, RAM не вечна :-).

Согласен.
Ну вот к примеру PocketMage PDA (в статье) или SlimeDeck Zero поковырять ещё интересно.
А остальное не так интересно.

Скорее "работает? прекрасно. что теперь?"

Чёрт. Только вчера думал побыстрее выложить чтобы попасть в такую статью.

Ну ладно.

Да, и кстати к 24 января я успеваю выпустить.

Классно получилось. Продолжайте.

Очень плохо сделано. Очень. Автор говорит что сам не знает почему так.

Серьёзно. Там только "псевдо ядро" и жручий LVGL.

Можно было просто взять готовый макропад или клавиатуру с поддержкой QMK/ZMK.

Самому поинтереснее кажись. Не знаю как считает автор, но я думаю так.

Ctrl+Z 200 раз в день

ахах, у меня такое сразу когда нахожу баг.

Ну вообще согласен, может удалю в будущем.

О как, я думал что мало где городят if-elif-else. Ну городят, но когда не придётся менять в ближайшее время. Либо же когда условий мало.

А нельзя что-ли? Какие проблемы будут если так делать?

Здраствуйте, такие подходы уже давно используются. Может, не во всëм коде, но, думаю что большинство делают так, конечно, не считая тех кто новички.

Советую брать код в отдельный блок:

#это мой комментарий
#он крутой :-) 

Так красивее и проще.

До конца не дочитал, потому что не разбираюсь именно в этом, но вы - молодцы, мне нравятся такие hardware проекты.

Да... Жалко что 2025 год уходит. Надеюсь, что в следующем году будет меньше статей с нулевым и отрицательным рейтингом. Также хотелось бы чтобы в следующем году представили больше интересных проектов.

1
23 ...

Информация

В рейтинге
2 528-й
Откуда
Адыгейск, Адыгея, Россия
Зарегистрирован
Активность

Специализация

Десктоп разработчик
Python
Компиляторы
Системное программирование
C
Объектно-ориентированное проектирование