Pull to refresh
@napa3umread⁠-⁠only

Программист

Send message

Шахматы и вопрос разумности больших языковых моделей

Reading time23 min
Views11K


Масштабирование больших языковых моделей (LLM) является захватывающей темой, поскольку рассматривается как один из лучших кандидатов на пути к ИИ человеческого уровня. Уже сейчас LLM могут отвечать на вопросы, генерировать реалистичные статьи и поддерживать, казалось бы, осмысленный разговор на широкий круг тем. Некоторые исследователи ИИ даже утверждают, что LLM возможно уже могут «слегка обладать сознанием», а журналисты выпускают статьи вроде «роботы захватят весь мир» с картинками терминаторов. Однако, скептики возражают, что большинство таких моделей — это просто большая ассоциативная память, без истинного понимания реальности и неспособная к определенным типам задач. Одна из таких задач, которая привлекла мое внимание — игра в шахматы. В то время как специализированные шахматные движки давно обыгрывают чемпионов мира, даже очень большие языковые модели, такие как GPT-3 с сотнями миллиардов параметров едва справляются с такой простой задачей как мат в один ход. А с такими способностями к стратегии, эти модели едва ли справятся с завоеванием мира. Поэтому как шахматист со стажем и по совместительству разработчик нейросетей я решила попробовать устранить этот недостаток.
Читать дальше →
Total votes 70: ↑68 and ↓2+90
Comments50

__proto__ и prototype

Reading time6 min
Views36K

Часто на собеседовании опытный разработчик может спросить у начинающего: «Что такое __proto__ и prototype, и чем они отличаются?». Обычно этот вопрос либо ставит в тупик, либо на него отвечают заученной мантрой из видео «50 вопросов на собеседовании»: « __proto__ — это ссылка на prototype, а prototype — это собственно свойство». И этот ответ правильный, только большинство недавно пришедших в профессию разработчиков не понимают, что это значит на самом деле. Причина проста — они не встречают в разработке ни __proto__, ни prototype, потому что современные стандарты JS прячут от него работу с этими свойствами за синтаксический сахар. Эта статья для таких, как я — разработчиков, которые столкнулись с JS в то время, когда никаких __proto__ и prototype на поверхности уже нет, а желание понять, как это устроено "под капотом" остается.

Читать далее
Total votes 21: ↑17 and ↓4+15
Comments10

React: разрабатываем HOC и хук для наблюдения за элементами

Reading time9 min
Views11K


Привет, друзья!


В данной статье мы с вами разработаем HOC (Higher-Order Component — компонент высшего порядка) и хук (custom hook) для наблюдения за DOM-элементами на странице с помощью Intersection Observer API.


Функционал нашего HOC будет похож на функционал, предоставляемый такими пакетами, как react-lazyload или react-lazy-load. Основное его назначение будет состоять в отложенной (ленивой — lazy) загрузке компонентов. Суть идеи заключается в рендеринге только тех компонентов, которые находятся в области просмотра (viewport — вьюпорт), что может существенно повысить производительность приложения.


Назначением хука будет регистрация пересечения (intersection) наблюдаемого (observable) элемента с областью просмотра (или другим элементом). Этот хук предоставляет очень интересные возможности, парочка из которых будет рассмотрена в соответствующем разделе.


Репозиторий с кодом проекта


При разработке инструментов я буду применять систему типов, предоставляемую TypeScript.


Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 3: ↑2 and ↓1+2
Comments2

Чат-боты: долгая и сложная история

Reading time7 min
Views3.4K

Первый чат-бот под названием (под именем?) Элиза был создан 60 лет назад Джозефом Вейценбаумом. Сегодня рынок наводнён всевозможными чат-ботами, которые справляются со множеством задач. Но вопросы, которые появились одновременно с Элизой, остались. Кажется, что история разработки Вейценбаума предвосхитила хайп и неразбериху, всё ещё связанные с этой технологией. Способность программы «общаться» с людьми продолжает сбивать с толку часть публики, создавая ложное ощущение, что машина чем-то близка к человеку. Под катом — ещё одна попытка восстановить историю эволюции чат-ботов и их взаимодействий (так и хочется написать «взаимоотношений») с людьми.

Читать далее
Total votes 5: ↑4 and ↓1+7
Comments1

Вывод типов в TypeScript с использованием конструкции as const и ключевого слова infer

Reading time5 min
Views56K
TypeScript позволяет автоматизировать множество задач, которые, без использования этого языка, разработчикам приходится решать самостоятельно. Но, работая с TypeScript, нет необходимости постоянно использовать аннотации типов. Дело в том, что компилятор выполняет большую работу по выводу типов, основываясь на контексте выполнения кода. Статья, перевод которой мы сегодня публикуем, посвящена достаточно сложным случаям вывода типов, в которых используется ключевое слово infer и конструкция as const.


Читать дальше →
Total votes 26: ↑25 and ↓1+39
Comments4

Three.js, квантовый спин, сфера Блоха и квантовые вращения

Reading time5 min
Views3.6K

В настоящее время в интернете можно найти сайты с визуализацией некоторых квантовых процессов. Я решил сделать свой сайт с визуализацией квантового спина. Расскажу, как появилось желание сделать этот сайт и что на нем находится.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments0

«Верьте аль не верьте», но есть и такое… Шаговое программирование

Reading time6 min
Views4.3K

А что сказка дурна — то рассказчика вина.
Изловить бы дурака да отвесить тумака,
ан нельзя никак — ведь рассказчик-то дурак!
А у нас спокон веков нет суда на дураков!..
Леонид Филатов.

При обсуждении предыдущей статьи буквально, как "чертик из табакерки", выскочил вид программирования, названный шаговым. Автор был готов к подобному, поскольку был знаком ним, хотя, может быть, и "шапочно". В документации на ПЛК такое программирование носит, правда, название пошагового управления (видимо, это и сбивало меня на термин "пошаговое программирование"). Но это не столь принципиально, чтобы по этому поводу «ломать копья». Важна суть, а именно в силу ее далее эти термины будем считать равноправными.

Но дело даже не в том, что этот вид программирования был, возможно, новостью для участников обсуждения (в рамках программирования ПЛК DELTA это стандартный вид программирования), а в том, что он позиционировался, как известная идея, заменяющая автоматное программирование (АП).  Собственно это и было определенно неожиданным... Но поскольку, так и не удалось дождаться исполнения просьб о реализации модели RS-триггера на языке шагового программирования, а формат обсуждения статьи не предполагает написания больших постов, то это и послужило поводом к написанию статьи.

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments13

Как сократить код Canvas API в Svelte

Reading time10 min
Views2.8K

Разработчик из консалтинговой компании в области разработки This Dot Labs рассказывает, как использовать canvas в Svelte и как превратить многословный API Canvas в краткий, более декларативный. Подробности — к старту нашего курса по фронтенду.

Узнать больше
Total votes 13: ↑11 and ↓2+11
Comments0

Шахматы на C++

Reading time68 min
Views48K

Не так давно я захотел написать свой шахматный движок. На удивление в Интернете нашлось не так много хороших статей на эту тему. Были статьи с довольно слабыми программами, многие из которых даже умудрялись пропускать некоторые важные правила. А были статьи с хорошими программами (некоторые из них были даже чуть лучше чем получилось у меня в итоге), но там авторы рассказывали лишь основные идеи, пропуская подробности, из-за чего написать что-то свое по таким статьям было проблематично. Поэтому после написания своей программы, я решил написать статью, дабы облегчить жизнь интересующимся в данной теме. Я не претендую на лучшую шахматную программу или на чистейший код, но эта статья будет хорошим и легким началом для тех, кто хочет написать что-то свое.

Читать далее
Total votes 151: ↑150 and ↓1+188
Comments56

Feature Engineering или стероиды для ML моделей

Reading time6 min
Views16K

Привет, чемпион!

Часто при построении ML моделей мало просто взять сильную модель. Оказывается, иногда грамотная предобработка данных существенно важнее. Сегодня речь пойдёт про feature engineering.

Рассмотрим несколько кейсов на эту тему более подробно. Данные будут упрощённые, но обещаю, от этого примеры не станут менее интересными ?.
Читать дальше →
Total votes 28: ↑27 and ↓1+38
Comments3

Адаптивные таблицы в вебе

Reading time53 min
Views23K

Таблица — один из самых эффективных способов подачи ТЕКСТОВОЙ информации: на минимуме пространства размещено максимум данных. И что не менее важно — эти данные доступны не только для восприятия, но и для анализа (СРАВНЕНИЯ). Основная сложность таблиц при верстке — их адаптивность для устройств с небольшими экранами (мобильных девайсов). Можно ли сделать так, чтобы даже на экране с размерами в несколько сантиметров таблицы могли быть удобными для восприятия?

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments7

Элементы языка С, которые являются неподдерживаемыми в языке С++

Reading time7 min
Views32K

Нижеприведенный список является моей небольшой коллекцией примеров кода на языке С, которые не являются корректными с точки зрения языка С++ или имеют какое-то специфичное именно для языка С поведение. (Именно в эту сторону: С код, являющийся некорректным с точки зрения С++.)

Этот материал я уже публиковал на другом ресурсе в менее причесанном виде, Я бы, наверное, поддался прокрастинации и никогда не собрался опубликовать эту коллекцию здесь, но из-за горизонта уже доносится стук копыт неумолимо приближающегося С23, который безжалостно принесет некоторые жемчужины моей коллекции в жертву богам С-С++ совместимости. Поэтому мне и пришлось встать с печи, пока они еще актуальны...

Разумеется, язык С имеет много существенных отличий от языка С++, т.е. не составит никакого труда привести примеры несовместимостей, основанные, скажем, на ключевых словах или других очевидных эксклюзивных свойствах С99. Таких примеров вы не найдете в списке ниже. Мой основной критерий для включения примеров в этот список заключался именно в том, что пример кода должен выглядеть на первый взгляд достаточно "невинно" для С++-наблюдателя, т.е. не содержать бросающихся в глаза С-эксклюзивов, но тем не менее являться специфичным именно для языка С.

Читать далее
Total votes 104: ↑103 and ↓1+138
Comments80

Дизерпанк — статья о дизеринге изображений, которую мне хотелось бы прочитать

Reading time18 min
Views27K

Мне всегда нравилась визуальная эстетика дизеринга (dithering, псевдотонирование, псевдосмешение цветов), но я не знал о том, как он применяется. Поэтому я провёл кое-какие изыскания. Эта статья может содержать отголоски ностальгии, но в ней не будет никаких следов Лены.

Читать далее
Total votes 147: ↑147 and ↓0+147
Comments26

LASSO и Ridge Регрессия. Что же значит та картинка

Reading time8 min
Views24K

Пыталась я вникнуть в устройство регрессии LASSO и Ridge… И сделала объективный вывод, что верхнеуровнево про них много где хорошо и подробно написано. Человеку непосвящённому легко найти понятные объяснения, просто погуглив. Но я-то человек посвящённый! Я хочу понять! Но вот беда — в русскоязычных блогах я нигде не смогла найти толкового прояснения некоторых метаматематических моментов работы лассо и ридж регрессии. Пришлось доходить до понимания самой с опорой на пару англоязычных источников, и я решила изложить некоторую математику, лежащую в основе лассо и ридж в этой статье.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments7

Кратко об OData

Reading time18 min
Views43K

Протокол OData (или Open Data Protocol) не часто встречается на практике. Чаще мы видим собственные решения по поводу проектирования RESTful API и тратим на это много времени. Но за долгое время существования REST, уже были собраны лучшие практики, которые слились в OData. На просторах интернета не много ресурсов для изучения. Давайте исправим это. В этой статье приведены основные варианты использования OData с примерами.

Что внутри?
Total votes 14: ↑14 and ↓0+14
Comments48

В Data Science не нужна математика (Почти)

Reading time6 min
Views89K

Привет, чемпион!

Ребята с «вышкой» всё время умничают, что в Data Science нужна «математика», но стоит копнуть глубже, оказывается, что это не математика, а вышмат.

В реальной повседневной работе Data Scientist'а я каждый день использую знания математики. Притом очень часто это далеко не «вышмат». Никакие интегралы не считаю, детерминанты матриц не ищу, а нужные хитрые формулы и алгоритмы мне оперативнее просто загуглить.

Решил накидать чек-лист из простых математических приёмов, без понимания которых — тебе точно будет сложно в DS. Если ты только начинаешь карьеру в DS, то тебе будет особенно полезно. Мощь вышмата не принижаю, но для старта всё сильно проще, чем кажется. Важно прочитать до конца!
Читать дальше →
Total votes 109: ↑102 and ↓7+129
Comments87

Джентльменский набор React компонентов FullStack разработчика для управления потоком данных

Reading time3 min
Views7.2K

⚛ Джентльменский набор React компонентов FullStack разработчика для управления потоком данных.

В этой статье я рассказываю, как сэкономить время на рутинной загрузке данных с сервера и отображении значений в верстке когда Redux или другой контейнер состояния избыточен.

Читать далее
Total votes 8: ↑6 and ↓2+6
Comments0

5. Передаточные функции и уравнения динамики замкнутых систем автоматического регулирования (САР)

Reading time7 min
Views31K

Продолжаем публикацию лекций по курсу "Управление в Технических Системах" автор - Олег Степанович Козлов на кафедре Э7 МГТУ им. Н.Э. Баумана.

Данные лекции готовятся к публикации в виде книги, а поскольку здесь есть специалисты по ТАУ, студенты и просто интересующиеся предметом, то любая критика приветствуется. В предыдущих сериях:

1. Введение в теорию автоматического управления.
2. Математическое описание систем автоматического управления 2.1 — 2.32.3 — 2.82.9 — 2.13.
3. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ ЗВЕНЬЕВ И СИСТЕМ АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ РЕГУЛИРОВАНИЯ.
3.1. Амплитудно-фазовая частотная характеристика: годограф, АФЧХ, ЛАХ, ФЧХ3.2. Типовые звенья систем автоматического управления регулирования. Классификация типовых звеньев. Простейшие типовые звенья3.3. Апериодическое звено 1–го порядка инерционное звено. На примере входной камеры ядерного реактора3.4. Апериодическое звено 2-го порядка3.5. Колебательное звено3.6. Инерционно-дифференцирующее звено3.7. Форсирующее звено.  3.8. Инерционно-интегрирующее звено (интегрирующее звено с замедлением)3.9. Изодромное звено (изодром)3.10 Минимально-фазовые и не минимально-фазовые звенья3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности. 4 Структурные преобразования систем автоматического регулирования.

Будет как всегда позновательной увлекательно и интересно.

Читать далее
Total votes 10: ↑8 and ↓2+7
Comments2

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity