Добрый день! Откровенно говоря, я прекрасно понимаю, что непосвященному эта статья вообще ничего не скажет, потому что никакой подготовки я практически не даю. Сомневаюсь, что это заинтересует публику, поэтому я даже не стал стараться.
"Зачем нам это знание" - не знаю) Мог бы отделаться словами, что имеет применение в криптографии, но это мой максимум.
У RNN был недостаток по сравнению с трансформерами (механизму внимания) - их обучение невозможно было распараллелить ввиду аргумента h_t-1. Новые min архитектуры это один из способов решения данной проблемы. Как я писал в начале статьи, у RNN есть преимущества по памяти по сравнению с трансформерами, поэтому они могут заинтересовать исследователей. По сути, кардинально новой аьтернативы предложено не было.
Да, это обзор именно этой статьи, как и заявлено в введении. Про страницы и номера я вообще не понял - причем здесь номера страниц в моей статье, если мы в рамках формата Хабра? Я указываю номера страниц из оригинального источника, где находятся эти картинки, чтобы читатель мог сам перейти и изучить подробнее. Поэтому в источнике и нет номеров страниц - это бессмысленно. Формат отображения одинаков - это pdf по ссылке в статье.
miniLLM и minLSTM/minGRU являются разными алгоритмами. В последних используется paralel prefix sum, у miniLLM - GPTQ. Те фрагменты, которые вы приводите, никак не подсвечивают связь между ними. miniLLM не является результатом работы авторов статьи, поскольку как вы сами заметили - ее и нет в статье.
В дополнение отмечу, что последнее обновление miniLLM на гитхабе было год назад. Статья, о которой мы толкуем, вышла 2 октября 24 года. Как в таком случае miniLLM может быть результатом?
Приветствую! Отвечу по пунктам. 0. Я затрудняюсь провести грань между обзором и переводом статьи. Не скрою, что я накидал этот "обзор" за час, выделив самые важные моменты из статьи. Переводом я это тоже назвать не могу, потому что а) многое опустил и б) писал своими словами.
1. Нет, номера рисунков пришли не из автоперевода, а добавлены мной лично для стилизации. Если вы обратитесь к оригинальной статье, то увидите, что рис. 1 и 2 вообще не подписаны в статье, а рис. 3 это figure 2. Подписи я добавил, чтобы указать страницу оригинальной статьи с этим графиком.
2. По поводу названия статьи. "Наносит ответный удар" не ассоцируется с боксом/боями без правил с 1980 года, когда вышел одноименный фильм по Звездным Войнам. Действительно, рекуррентные нейронные сети никого не бьют и не проводят революцию в мире. Вы можете считать это название пошлым или устаревшим, но тем не менее я его выбрал для привлечения внимания, не более того.
3. Про miniLLM вы ввели меня в замешательство. В статье действительно про нее ничего нет, но она даже никаким образом не относится к теме RNN, разве что min в названии.
Вывод: моя статья вообще не шедевр, но Ваших претензий я не понимаю. Приятного дня.
У Вас очень здорово получилось, прочитал с удовольствием. Ваш немного иной логический подход мне понравился, дал пищу для размышлений, а конкретнее адаптировать его под Python. Raku, конечно, мне в диковину, но вы всегда давали понятные комментарии. И даже записали видео с демонстрацией! Одним словом, вы проделали большую работу, спасибо. В начале своей статьи оставил упоминание вашей работы.
P.S. По поводу "побега от хардкодинга". Я согласен, что хардкодинг (особенно такой изящный, как здесь) более уместен при разработке игры, однако я создал под себя такую систему, чтобы можно было ограничиться эффектами по умолчанию. Фактически, это результат лени. Когда придёт вдохновение под какую-то особую поверхность (например, проклятое облако нефти снижает боевой дух и шанс походить), то я пропишу под нее логику отдельно.
Титанический труд, вы молодец, что преодолели все трудности и довели до рабочего билда. Возможно ваши наработки помогут "следующим поколениям" перенести игру на новый движок
Возможно Вы правы, но если пойти по пути хардкодинга, то не было бы смысла в статье. Основной интерес же в построении такой системы, которая могла бы изящно учесть все варианты без прямого перечисления всех трансформаций.
Спасибо, вы совершенно правы, что я учёл не все нюансы из оригинальной игры. 1) да, комбинация "поверхность + пар" в текущей версии невозможна. Мы действуем в парадигме "одной ячейке Cell - одна поверхность Surface". Однако в Cell можно создать дополнительный атрибут cloud (помимо surface), который должен быть в газообразном состоянии (если на него подействовали охлаждением, то произойдёт конденсация. Тогда субстанция облака вступит в реакцию с поверхностью согласно правилу set_base_surface).
2) я забыл об этой игровой особенности, спасибо, что напомнили. В set_base_surface можно добавить проверку - "если магическое состояние не нейтральное, то текущая базовая субстанция будет устойчива к вытеснениям". С огненными поверхностями чуть сложнее, например, нет же разницы между поджиганием благословленной и обычной нефти?
3) да, возможно. Для этого нужно применить цепочку преобразований: s = Surface()
Интересная и хорошо написанная статья. Спасибо, жду продолжения!
Здравствуйте!
Именно подход с цикловой записью, о которой вы пишете, в статье и применяется. Алгоритмы у нас совпадают.
Задача же в том, чтобы посчитать количество корней в общем виде, зная паспорт перестановки.
Спасибо!
Добрый день!
Откровенно говоря, я прекрасно понимаю, что непосвященному эта статья вообще ничего не скажет, потому что никакой подготовки я практически не даю. Сомневаюсь, что это заинтересует публику, поэтому я даже не стал стараться.
"Зачем нам это знание" - не знаю) Мог бы отделаться словами, что имеет применение в криптографии, но это мой максимум.
У RNN был недостаток по сравнению с трансформерами (механизму внимания) - их обучение невозможно было распараллелить ввиду аргумента h_t-1. Новые min архитектуры это один из способов решения данной проблемы. Как я писал в начале статьи, у RNN есть преимущества по памяти по сравнению с трансформерами, поэтому они могут заинтересовать исследователей. По сути, кардинально новой аьтернативы предложено не было.
Страницы очевидно в pdf-документе, по скрину видно, что вы его открывали.
Вы сами писали о том, что в статье этого нет.
А теперь говорите, что есть в источнике. Но ни одного упоминания miniLLM в тексте источника нет.
Тут согласен, я не добавлял никаких новых мыслей от себя или из других источников. Формально, я написал "саммари", краткое изложение.
Да, это обзор именно этой статьи, как и заявлено в введении. Про страницы и номера я вообще не понял - причем здесь номера страниц в моей статье, если мы в рамках формата Хабра? Я указываю номера страниц из оригинального источника, где находятся эти картинки, чтобы читатель мог сам перейти и изучить подробнее. Поэтому в источнике и нет номеров страниц - это бессмысленно. Формат отображения одинаков - это pdf по ссылке в статье.
miniLLM и minLSTM/minGRU являются разными алгоритмами. В последних используется paralel prefix sum, у miniLLM - GPTQ. Те фрагменты, которые вы приводите, никак не подсвечивают связь между ними. miniLLM не является результатом работы авторов статьи, поскольку как вы сами заметили - ее и нет в статье.
В дополнение отмечу, что последнее обновление miniLLM на гитхабе было год назад. Статья, о которой мы толкуем, вышла 2 октября 24 года. Как в таком случае miniLLM может быть результатом?
Приветствую!
Отвечу по пунктам.
0. Я затрудняюсь провести грань между обзором и переводом статьи. Не скрою, что я накидал этот "обзор" за час, выделив самые важные моменты из статьи. Переводом я это тоже назвать не могу, потому что а) многое опустил и б) писал своими словами.
1. Нет, номера рисунков пришли не из автоперевода, а добавлены мной лично для стилизации. Если вы обратитесь к оригинальной статье, то увидите, что рис. 1 и 2 вообще не подписаны в статье, а рис. 3 это figure 2. Подписи я добавил, чтобы указать страницу оригинальной статьи с этим графиком.
2. По поводу названия статьи. "Наносит ответный удар" не ассоцируется с боксом/боями без правил с 1980 года, когда вышел одноименный фильм по Звездным Войнам. Действительно, рекуррентные нейронные сети никого не бьют и не проводят революцию в мире. Вы можете считать это название пошлым или устаревшим, но тем не менее я его выбрал для привлечения внимания, не более того.
3. Про miniLLM вы ввели меня в замешательство. В статье действительно про нее ничего нет, но она даже никаким образом не относится к теме RNN, разве что min в названии.
Вывод: моя статья вообще не шедевр, но Ваших претензий я не понимаю.
Приятного дня.
У Вас очень здорово получилось, прочитал с удовольствием. Ваш немного иной логический подход мне понравился, дал пищу для размышлений, а конкретнее адаптировать его под Python. Raku, конечно, мне в диковину, но вы всегда давали понятные комментарии.
И даже записали видео с демонстрацией! Одним словом, вы проделали большую работу, спасибо. В начале своей статьи оставил упоминание вашей работы.
P.S. По поводу "побега от хардкодинга". Я согласен, что хардкодинг (особенно такой изящный, как здесь) более уместен при разработке игры, однако я создал под себя такую систему, чтобы можно было ограничиться эффектами по умолчанию. Фактически, это результат лени. Когда придёт вдохновение под какую-то особую поверхность (например, проклятое облако нефти снижает боевой дух и шанс походить), то я пропишу под нее логику отдельно.
Титанический труд, вы молодец, что преодолели все трудности и довели до рабочего билда. Возможно ваши наработки помогут "следующим поколениям" перенести игру на новый движок
Возможно Вы правы, но если пойти по пути хардкодинга, то не было бы смысла в статье. Основной интерес же в построении такой системы, которая могла бы изящно учесть все варианты без прямого перечисления всех трансформаций.
Отлично, будет интересно почитать.
По поводу пункта 2): я внес изменения в код метода set_base_surface в статье, который поддерживает приоритет магических поверхностей.
Спасибо, вы совершенно правы, что я учёл не все нюансы из оригинальной игры.
1) да, комбинация "поверхность + пар" в текущей версии невозможна. Мы действуем в парадигме "одной ячейке Cell - одна поверхность Surface". Однако в Cell можно создать дополнительный атрибут cloud (помимо surface), который должен быть в газообразном состоянии (если на него подействовали охлаждением, то произойдёт конденсация. Тогда субстанция облака вступит в реакцию с поверхностью согласно правилу set_base_surface).
2) я забыл об этой игровой особенности, спасибо, что напомнили. В set_base_surface можно добавить проверку - "если магическое состояние не нейтральное, то текущая базовая субстанция будет устойчива к вытеснениям". С огненными поверхностями чуть сложнее, например, нет же разницы между поджиганием благословленной и обычной нефти?
3) да, возможно. Для этого нужно применить цепочку преобразований:
s = Surface()
s.set_base_surface(BaseSurface.FIRE)
print(s.heat().curse())