Metaprogramming
637 subscribers
107 photos
1 video
163 links
μετά- «между, после, через» (греч.)

Жизнь программиста за пределами программирования: алгоритмы, психология, инвестиции, иное.
加入频道
Одиннадцать вопросов ИИ (для изучения математики и всего прочего)

Меня часто спрашивают...

Говорят, в эпоху модерна важно было наизусть знать основные факты, в эпоху постмодерна – где их найти. А в эпоху больших лингвистических моделей – как наиболее эффективно извлекать информацию по ходу диалогов на естественном языке.

В связи с этим решил описать свою "познавательную стратегию", направленную на ускорение обучения с применением LLM-ок. Применяю в основном в изучении математики, примеры соответствующие.

Общий план знакомства с новой концепцией такой:

1. Основные определения и алгоритмы
2. Связь с другими предметными областями через общие математические объекты
3. Допущения, нюансы, пресуппозиции
4. Перепроверка

Вопросы, которые задаю LLM-ке на каждом шаге соответственно, приведены далее. Стоит иметь в виду, что по-русски все современные LLM дают ответы значительно более низкого качества, перевод дан для удобства.

Основные определения и алгоритмы

1. Что такое X / What is X?

Пример: что такое сигмоида?

Вариации:
– Я всё ещё не понимаю X / I still don't understand X.
– О чем здесь речь / What's described here?

2. Напиши формулу для X / Write formula for X.

Пример: напиши формулу сигмоиды.

И наоборот:
– Объясни по-русски / Explain in plain English.

3. Как X делается по шагам / How X is performed, step-by-step?

Пример: как делается градиентный спуск, по шагам?

Связь с другими областями

4. Как связаны X и Y / How X implies Y?

Пример: как связаны MLE и лосс-функция логистической регрессии?

5. Объясни X, не упоминая Y / Explain X without referring to Y.

Пример: объясни логистическую регрессию, не упоминая GLM.

6. Объясни X с точки зрения Y / Explain X from the perspective of Y.

Пример: объясни MLE с точки зрения статистики.

7. X это то же, что Y / Is X the same as Y?

Пример: эквивариантность (equivariance) это то же, что естественное преобразование (natural transformation)?

(Прим.: один из вопросов, показывающих кардинальное превосходство LLM-ок над поисковыми системами в данной области. Выдачу гугла надо фильтровать и разбирать, LLM-ка сразу даёт резюме.)

Допущения, нюансы, пресуппозиции

8. Почему должно быть X / Why must be X?

Пример: почему в логистической регрессии log-odds должны линейно зависеть от признаков?

9. Что обычно упускают, рассказывая об X / What is usually omitted, when they speak of X?

Пример: что обычно упускают, рассказывая о логистической регрессии?

10. Какие базовые предпосылки X / What are basic assumptions of X?

Пример: какие базовые предпосылки логистической регрессии?

Перепроверка

11. Является ли этот конспект/решение корректным / Is this cheatsheet/solution correct?
👍15🔥71
В 20:30 сегодня (20.06) опять позвали в Гиперкаталог на стрим. Ссылка на ютуб и твич. Будем, наверное, свободные разговоры на тему ИИ вести в контексте недавно вышедшего рассказа Антона Русинова.
🔥9
Вкратце об альтернативах выбора

Опросы (например общественного мнения) справедливо упрекают в том, что они замеряют, по сути, то, чего не существует: у большинства людей нет мнения по большинству вопросов. Порядок на множестве всех возможных вопросов не полный :)

Как же мнение у человека более-менее объективно выяснить?

Для простоты можно принять, что опрашиваемый легко найдёт некую имеющую смысл для себя альтернативу выбора, ассоциативно связанную с поставленным вопросом. К альтернативе легко пристёгивается контекст (физическое или, шире, "когнитивное" пространство, в котором происходит принятие решения). А внутри комбинации релевантной альтернативы и контекста уже можно вести содержательный тематический разговор о иерархически организованных внутренних и внешних факторов, на выбор воздействующих и его определяющих.

При этом у разных участников в рамках одного социального контекста альтернативы могут быть противопоставленные – или, что ещё хуже, перпендикулярные. (Т.е. один и тот же "социальный вопрос" имеет большое разнообразие индивидуальных – ассоциативных, других нет – прочтений.)

Например вот экзамены (сессия ж подошла к концу!).

Альтернатива преподавателя, управляющая оценкой: "смотрел мои лекции <> не смотрел мои лекции".

Альтернатива студента: "пригодится в работе <> не пригодится в работе".

Студент отвечает про практические приёмы и дополнительные материалы, которые он изучил самостоятельно, а преподаватель отмечает: минус, минус, минус (всего сказанного студентом не было на лекциях).

А другой преподаватель оценивает: "взял бы на работу <> не взял бы на работу".

И будет у него: плюс, плюс, плюс (разобрался самостоятельно, будет способен принести пользу проекту).

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

Видимо за счёт механизмов ролевого моделирования! Студенты вынуждены фактически разыгрывать некую чисто виртуальную иерархию, согласованию по альтернативе с преподавателем, через интерфейс которой и налаживать коммуникацию (конечно на самом деле, наоборот, преподаватель должен так делать – это входит в презюмируемый стандартный пакет услуг – но на практике бывает редко).

Про модель ценностных иерархий, в рамках которой рассуждаем и в данном посте, пару слов говорили ранее.
👍3
Нейрофандом

В одной из лекций по учёбе была включена ссылка на видео Andrew Huberman по оптимальным привычкам для обучения. Про режим сна и отдыха, рациональному отношению к тестированию/экзаменам, и т.д.

Ну в первой лекции курса она играла роль откровенного дисклеймера, прозрачным намёком: "будет тяжко, мы вас предупредили, потом не жалуйтесь" (я, конечно, пропустил это мимо ушей, поэтому пришлось спать по шесть часов при подготовке к экзамену в течение нескольких дней — изучать эффективные привычки работы-отдыха сразу на практике так сказать, без теории).

В том же видео Эндрю Хуберман между делом даёт тонкую рекламу своему методу NSDR — non sleep deep rest. Мол проснулся ты с утра, не выспался, провёл NSDR, полегчало. Или к обеду переутомился учёбой, сделал NSDR на 15-20 минут, можно учиться дальше.

Как предлагается конкретно выполнять процедуру? А послушать аудиозапись "guided session". Там на фоне приятной музыки и глубокого голоса зачитывают "протокол глубокого расслабления" :)

Ну, вы знаете, "вы будете делать то-то...", "теперь дышите так-то...". Лень смотреть транскрипт целиком, но кроме дыхания по-моему ничего нет.

Мы это видели конечно уже много раз: "аутотренинг", "управляемое воображение", "внутренне путешествие", "направленное внимание", "практика разума-тела", "глубокое расслабление", "майндфулнес медитация", и пр., и пр., и пр. Десятки эвфемизмов для, извиняюсь, самогипноза 😱.

В этой связи подумал, что ведь процедура становится только эффективней от дополнительного подчёркивания её границ-оснований. Дело ведь не в науке, а в вере в научность ("научно = действенно").

Используя законы жанра "расслабляющих видео", для современных нейрофандомных индукций надо наговаривать не просто "нейропластичность позволяет вам эффективней учиться", а "ПРЕДСТАВЬТЕ СЕБЕ, как ваши нейроны образуют новые связи, используя нейропластичность".

И далее всё в таком же стиле, с дополнительным flavor, а не изложением сухих фактов:

Выберите два случая: во-первых, когда что-то выучили так себе, не очень хорошо; во-вторых, когда усвоили просто отлично. Представьте себе для каждого случая по очереди как выглядят нейронные связи в вашей голове, обратите внимание на связность коннектома (в том и другом случае), миелинизацию (как блестит оболочка аксонов-дендритов?), проходимость сигналов, как клеточки обмениваются нейромедиаторами, какого цветового оттенка глия. Запишите ответы в табличку, выделите на основе сопоставления различий ключевые элементы, определившие эффективность обучения. Теперь представьте знания, которые вам требуется освоить для предстоящего экзамена. Примените на этот образ выделенные ранее элементы. Почувствуйте прямо за глазными яблоками, как знания начинают перетекать в орбифронтальную кору, позволяя вам верно спланировать и реализовать обучение!

Фактически новый подход получился!

Назовём MINDS: meta-introspective neurodynamic self-regulation.

Осталось провести исследования на томографе, создать помогающую ИИ-модель, внедрить в практику провайдеров медицинских услуг. Может Эндрю Губерманы какие-нибудь прихватят :)

Раньше комментировали немного проблему "нейросленга" в записях "Проблемы субъекта" и "Сознание живёт на кончике языка".
👍6🔥5
У вас фобия или филия формул? :) (Опрос ниже.)
3
Особо не вглядываясь и не вчитываясь в картинки с формулами выше, пролистав их на экране в полном размере, оцените первое впечатление от 0 до 5, где 0 это "ужас, уберите скорее!", а 5 это "класс, несите ещё!". Выбирайте максимальную оценку среди картинок.
Anonymous Poll
13%
0 - ужас, уберите скорее!
3%
1
8%
2
24%
3
27%
4
25%
5 - класс, несите ещё!
Образ будущего программиста

Несколько раз то с той, то с другой стороны подходили к вопросу эволюции профессии программиста под воздействием ИИ, но прямо эту тему на канале как будто не обсуждали.

Как писал пять лет назад в первом посте, никакие "джуны" никогда не были нужны и тем более не будут нужны сейчас. Примерно в то же время иронизировал над неоправданным завышением "требуемой базы" для программирования и следом же аргументировал, что один из главных навыков программиста как раз уметь НЕ погружаться слишком глубоко в омуты технического и теоретического содержания.

К сожалению (для программистов) здесь произошли важные изменения.

Вкратце суть навязываемого образа будущего такая: должны остаться только весьма продвинутые программисты-математики (в небольшом количестве) и низкоквалифицированные "операторы лингвистических моделей" (в избытке). Знаете, как на заре эпохи программирования было принято говорить "математическое обеспечение" в значении "программное обеспечение", и с пренебрежением выделять отдельно "кодировщиков" — похожий тон!

Конкретно, выглядит так будто и дальше в тренде будут области, связанные с искусственным интеллектом (машинным обучением) и формальными методами (автоматизированным доказательством теорем и верификацией алгоритмов). И всевозможные их скрещивания: применение LLM для доказательства теорем, применение теорем для доказательства (корректности работы) LLM, и пр., и пр.

Соответственно для преодоления "стеклянного потолка" программисту всё же потребуется "математическая база".

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

Вопросики, кстати, подобного толка скорее всего не будут терять в популярности, не смотря на их практическую бессмысленность (можно не то что у ИИ спросить, а в гугле сходу найти): оценка фактиков, которые человек может воспроизвести "на кончике языка" как бы не второе дыхание получит в контексте, где тестовые задания пишут исключительно с помощью LLM-ки.

К требуемым рабочим навыкам добавится специфическая способность "сынженерить по статье". Т.е. воспроизвести результаты опубликованного исследования: связать в единую концепцию формулы, описания алгоритмов, иллюстрации и общие соображения — и скомпоновать всё в как-то работающий код.

Конечно, в первую очередь для того чтобы научиться это делать необходимо преодолеть посттравматическое расстройство от вида формул, которое, как известно, у многих имеет место со школьной скамьи. Требуйте лечения у своих психологов! :)

Ну либо запускайте в фоне любой тематический контент от разборов школьных задач до лекций НМУ или аниме-математики и смотрите десятками часов, пока не отпустит — пока не сможете с чистой совестью влепить четвёрку в опросе выше.

Ранее обсуждали смежные темы:

Почему НЕ надо становиться программистом (16.07.2020)
База для программирования (14.09.2020)
Суть программирования — создание языков (4.03.2023)
Kevin Buzzard — евангелист языка Lean (27.09.2024)
👍73🔥2
Физики vs математики

В контексте вышесказанного про "центрифугирование" специалистов (сепарации на квалифицированных программистов-математиков и кодеров на LLM, с вымыванием середины) дополнить надо вот что: образ заправляющих всем (техническим) миром математиков не учитывает того факта, что в основном заправляют всем на самом деле физики (или "физики").

Пока математики пытаются, напряжённо наморщив лоб, выдавать что-то вроде гипотезы многообразия (любая нейросеть решает проблему снижения размерности входных точек/признаков), "физики" заходят с козырей: "в общем смотри, вектор идёт в гости к другому вектору и спрашивает его значит"...

Демоны Максвелла, ангелы Фейнмана (фикиски Крылова, маленькие человечки Альтшуллера и т.д. и т.п.) решают технические вопросики – причём не только тактические, но и стратегические, серьёзно продвигающие вперёд технику – ничуть не хуже, чем всякие многообразия и эквивариантности.

Математики никуда не торопятся, посему долго набирают инерцию.

Наверное диалектика математиков и физиков это отражение тысячелетнего диалога платоновцев с аристотелевцами (соответственно) :)

Ранее обсуждали похожую тему в посте:

Вкратце о программистах и системных администраторах (3.09.2023)
👍6🔥52
Язык в языке — звуковая проторечь

Периодически буду писать всякие заметки про детей, благо знаю что среди читателей достаточно интересующихся темой (да и в целом вопросы не малоинтересные в контексте общей психологии).

Положим начало вот каким наблюдением.

Развитие речи у младенцев наводит на вот какую мысль: в естественном языке есть "вложенный" язык (набор слов и семантик, правил грамматики), который, будучи корректной частью "основного" языка (например, русского), является минимальным "оформлением" (если угодно, "доформализацией") некоей по сути врождённой звуковой проторечи.

Понять это можно как расширенный принцип звукописи. Слова типа "шуршать" или "жужжать" являются самыми простыми примерами (обозначают то, что слышится: шшш, жжж). Однако если немножко настроить слуховое восприятие, то окажется что весьма не малое подмножество языка является воплощением того же принципа.

Тишина ("ш-ш-ш!"), прыгать ("прыг!"), хватать ("хвать"), рычать ("р-р-р"). Очевидные "мама" (подобное сочетание слогов, кажется, даже у щеночков-котят-телят проскакивает), "ляля" ("лä-лä-лä" говорят ляльки), "не-а". Зачерпнуть можно довольно широко без особой натяжки: колобок ("о"), кидать, дрыгать, ходить, думать ("у-у-у..."), ...

Если присмотреться, то в хорошей поэзии всегда подобный феномен идёт одним из слоёв. Стихотворение всегда говорит "р-р-р!", или "ля-ля-ля", или "о-о-о! у-у-у!", или что-то в этом роде.

Лачужка - печальна - старушка - приумолкла - буря - друг - утомлена ("Зимний вечер" Пушкина).

Вторичный язык (или двухсоставной смысловой рефлекс) на чередовании опорных звуков. Впрочем, буду удивлён, если не выяснится, что у филологов тема хорошо пропахана.
🔥61
Почему-то на языке вертятся слова "каждое лыко в строку" :)

"Содружество наций".

2.5 миллиарда населения (для сравнения: Китай 1.5, ЕС 0.5, США 0.3).

$10 триллионов ВВП (США $27, Китай $18, ЕС $19).

Технически главой является Карл III, который, так сложилось, занял позицию после смерти своей матери (Елизаветы II), что является не более чем совпадением (позиция не передаётся по наследству).
🔥8
Английская наука и техника

Изучая историю науки и техники рано или поздно натыкаешься на следующую закономерность: многие изобретения англичанами сделаны за несколько десятилетий до их изобретения.

В 1684 году Готфрид Лейбниц публикует основы исчисления производных, создав тем самым фундамент современного математического анализа. В 1687 году Исаак Ньютон публикует свои основы математики, где в менее формальном виде – через геометрические иллюстрации – даёт свою интерпретацию той же темы.

В 1693 году Ньютон публикует более строгие рассуждения со своим подходом к производной. Далее, в 1737, спустя 53(!) года после выхода оригинальной работы Лейбница, и спустя 10 лет после смерти самого Ньютона, выходит, наконец, окончательная версия ньютоновской формализации производной.

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

Ну дальше-больше, выясняется что англичане успели съездить на машине времени в 1666 год и там подкинуть Ньютону идеи, которые он окончательно оформит только спустя 70 лет от этого момента (через 10 лет после собственной смерти). Текст этих заметок был опубликован уже как бы не в 20-м веке.

Аналогично с постройкой разностной машины Беббиджа. В 1788 немец Иоганн Мюллер публикует идею. В 1823 англичанин Чарльз Беббидж, будучи незнакомым с работой коллеги (джентельменам следует верить на слово) строит вычислительную машину. Ну как строит, осваивает грант на 17000 фунтов стерлингов (~$5M на сегодняшние деньги) и что-то собирает из шестерёнок. Рабочий же вариант построили, вдохновившись его наработками, в 1991 году (для музея).

Можно сказать: ну ладно, 19 век (тем более 18), стимпанк, мало ли чего там было, дело прошлое. Хорошо, обратимся к 20 веку.

В 1987 году находят "потерянную записную книжку Рамануджана" – гениального математика-самоучки из Индии, которому дал путёвку в свет Годфрид Харди (кстати, также выступавший старшим научным братом другого гениального математика-самоучки с бывшей колонии – Норберта Винера, основателя кибернетики).

Сам Рамануджан умер в 1920 году, Харди в 1947. Так ничего, на извлечённой из завалившейся за шкаф рукописи 1920-го года (последнего года жизни Рамануджана) чётко опознают как почерк самого Рамануджана, так и визу Харди. Оказывается в огромном наборе формул с как всегда пропущенными выкладками (фирменный гений Рамануджана) отчётливо видится идея так называемых "фальшивых тета-функций".

История открытия – очередное чудо. Следите за руками. Рамануджан умер, Харди умер, Вилсон умер (коллега Харди, получивший от него записную книжку). Затем Виттакер (ещё один Кембриджский математик) находит в архиве Вилсона записную книжку, но она снова теряется в библиотеке Кембриджа на 8 лет! Затем Эндрюс (математик, занявшийся впоследствии содержательной разработкой фальшивых тета-функций) ещё через 10 лет после находки (а куда торопиться с исторической сенсацией?) публикует финальную редакцию. Так, спустя 67 лет, очередная заслуга простого трудящегося индийского гения получает официальное признание!

Математика там уже совсем не для профанов, глубины теории чисел (даже не буду пытаться пересказать суть). Но в сухом остатке имеем снова отменённый приоритет – и снова немца – Ганса Маасса. Впрочем тот был и не против. После второй мировой (надо как-то устраиваться в мире победивших Союзников) несколько раз ездит в Бомбей, ведёт лекции в Институте фундаментальных исследований Тата (на тему модулярных функций – прекурсоров фальшивых тета-функций). Институт Тата – организация, по случайному совпадению, отвечавшая за наследие Рамануджана :) Почему такой странный выбор места проведения лекций – да наверное национальная музыка и искусство нравилось!

За незримый вклад в дело науки Содружества Маасс получает в 1983 году членство в Индийской академии наук.

Win-win!
🔥118👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1