Люблю высокие технологии и кушать. Добро пожаловать, если в сферу твоих интересов тоже входят математика, DL, NLP, программирование на Python, или тебе просто любопытно, о чем на досуге размышляют люди, занимающиеся разработкой и исследованиями в ML.
Команда Answer.AI месяц тестила ИИ-инженера Devin, который, напомню, обещает сам писать код, деплоить проекты и решать сложные задачи. На старте всё было круто: Devin легко затянул данные из Notion в Google Sheets и даже помог создать планетарный трекер (при этом команды давались через телефон). Но чем сложнее становились задачи, тем больше он начинал буксовать.
От бесконечных попыток сделать невозможное до кучи бесполезного спагетти-кода. Похоже, основная проблема Девина такая же как и у LLM в целом: неумение сказать “я не знаю” / “я не могу”. В целом, эксперимент быстро превратился в проверку на терпение. Итоговые цифры говорят сами за себя: из 20 задач — только 3 успеха, 14 провалов и 3 “непонятных” результата.
Основной вывод авторов — идея автономного ИИ для программирования классная, но в реальности Devin больше мешал, чем помогал.
Подробнее читать тут - хороший текст от уважаемых ребят
⬆️ Кто-нибудь пробовал атаковать этот детектор? Если да, поделитесь результатами
Читать полностью…Кстати про технические сложности
Вспомнился старый кейс, где я вовсю ощутил свой недостаток образования в Computer Science.
В далеком кризисе 2014 года меня приютила одна по доброте душевной (а там правда очень классные люди) компания, которая разрабатывала софт для нефтяной сейсмики. У Яндекса там была существенная доля и хорошее отношение – которое выражалось, например в том что компания называлась Яндекс.Терра, а сотрудники могли быть слушателями ШАД.
Разработка на C/ С++ это вот ни разу не python или Matlab (мой основной иснтрумент тогда), и я в нее не умел (о чем честно сказал на входе). А задачи были – писать модули для той большой системы, и на старте мне дали достаточно простые – одноканальная обработка сигналов, всякие фильтрации/свертки, немного со спектрами и кепстрами.
И как-то мне нужно было пройтись по спектру с шагом 0.1 Гц, что-то сделать, а затем к результату применить обратное Фурье. Только вот не всегда результат обратного преобразования Фурье будет вещественнозначным ) Поэтому делать надо было аккуратно, с первого раза в C не получилось. Списав все на свои кривые руки, решил сделать в матлабе. И там волшебным образом все заработало!
Несколько дней я потратил, пытаясь добиться того же результата в C – без шанса 🙈🤯.
В матлабе же не только индексация массивов отличается)
В итоге пошел на поклон к синьору и тут вскрылся мой недостаток образования на тот момент в CS. Что-то о свойствах вещественных чисел я знал (что на равенство сравнивать нельзя, ибо хранятся они в некотором приближении), но вот глубоко не копал – на чем и погорел.
В чем же была проблема?
Как это выглядело в Matlab:
d = 0;
for i = 1:10000
d = d + 0.1;
end
fprintf('%.25f', d)
>>> 1000.0000000001588205122970976
d = 0
for i in range(10_000):
d += 0.1
print(d)
>>> 1000.0000000001588
float d = 0;
for (int i = 0; i < 10000; ++i)
{
d += 0.1;
}
printf("%.6f", d);
>>> 999.902893
Так, в статье "Analyzing the Generalization and Reliability of Steering Vectors" ( https://arxiv.org/abs/2407.12404 ) анализируют проблемы с обобщаемостью одного, очень простого метода нахождения таких вот концептуальных векторов (их здесь называют "steering vectors", так как с их помощью можно контролировать модель, как бы рулить ею).
Суть метода такова: модели задают вопрос, связанный с определенным концептом, например, тем же Truthfulness, и перечисляют два варианта ответа: например, под буквой A предлагают наукоботный ответ, а под B - шизовый. В общем, делают обычный Multi-Choice Question Answering. Далее берут представление токена буквы А и представление токена буквы B, отнимают одно от другого. Повторяют то же самое для всех вопросов из целевого датасета, усредняют и получают вектор шизы Truthfulness.
Авторы статьи показали, что steering vectors, найденные таким методом и хорошо работающие на одном датасете, часто существенно хуже работают на другом. Кроме того, эти steering vectors как бы сплетаются с "шумными", ненужными нам свойствами эмбеддинга. В общем, конкретный steering vector может сильно зависеть от деталей реализации алгоритма, с помощью которого он получен и от данных, на которых он получен.
—
Что же касается второй статьи, "Beyond Single Concept Vector: Modeling Concept Subspace in LLMs with Gaussian Distribution" ( https://arxiv.org/abs/2410.00153 ), тут авторы решили искать вместо одного вектора-концепта целое подпространство-концепт. Для этого они разбивали датасет с примерами на большое количество под-датасетов, и для каждого под-датасета считали steering vector независимо, так что получался не один, а целое множество векторов (метод их нахождения, кстати, отличался от описанного в предыдущей статье). Далее, авторы предположили, что эти вектора являются сэмплами из некоторого d-мерного гауссовского распределения (где d - размерность эмбеддинга) с диагональной ковариационной матрицей, т.е. такого, где каждая координата независима (это допущение, конечно, делалось из соображений экономии вычислений). Ну а потом посчитали параметры распределения и назвали это Gaussian Concept Subspace-ом, для краткости, GCS.
Далее, авторы сэмплировали вектора из этого GCS и показывали, что они действительно отражают смысл концепта (например, смещение по вектору, соответствующему положительному / отрицательному отзыву, действительно делает отзыв таковым - проверялось это с помощью автоматического evaluation).
Добавлю пару комментариев от себя : как мне кажется, методология в этой статье несколько спорная, а практическая польза пока не ясна, т.к. для влияния на выход модели достаточно использовать просто усреднение всех steering vectors вместо сэмплирования из распределения. Однако, направление мысли мне понравилось. Действительно, концепты, подобные тем, что находят в этих статьях, вряд ли на самом деле укладываются в один вектор, и было бы неплохо перейти от steering vectors к steering subspaces или чему-то ещё такому, более обобщенному.
—
Из любопытного напоследок могу отметить, что в каждой из трех перечисленных статей рассматривали разные методы нахождения steering vectors и местами использовали разную терминологию, что говорит о том, что данная область исследований пока только нарождается и, возможно, в будущем принесет ещё больше интересного.
#объяснения_статей
Похвастаюсь продуктивно проведенным последним днём каникул: этот красавец вчера убил ТРЁХ космодесов-саламандр 😈😈😈 (киллтим)
Читать полностью…К вопросу о том, как выглядит безопасный искусственный интеллект by design:
Моделька для генерации видео по картинке Kling v1.6, получив на выход проблему вагонетки, сгенерировала трамвай медленно пятящийся подальше от прикрученнных к рельсам людей.
Атмосфера в комментариях любого ML паблика без автоматической модерации через 0.0001 наносекунду после поста в последние несколько дней
Читать полностью…И ещё немного на тему #подкасты .
Появился вот такой новогодний выпуск любимого мною ML подкаста с гостем, который уже известен существенной части подписчиков по своему учебнику про глубокое обучение, а также различным докладам и статьям (некоторые из которых были написаны в соавторстве со мной), Сергеем Николенко:
/channel/toBeAnMLspecialist/920
Выпуск заинтересовал меня своей тематикой - обсуждалось то, как AI помогает исследованиям в математике и в других науках, так что слушать было интересно.
И раз уж я рассказала про этот выпуск, заодно поделюсь ещё одной новостью: Сергей наконец-то завел свой канал -
/channel/sinecor
Пока что там только пара вводных постов. Посмотрим, что будет дальше 🍿
С Новым Годом! Желаю всем не продолбать этот новый год. А если вам скучно на январских, то у меня для вас есть новый выпуск подкаста Deep Learning Stories!
Гость этого выпуска — Лаида Кушнарева, выпускница мехмата МГУ, старший академический консультант в компании Хуавей и автор телеграмм канала "Техножрица". А еще Лаида — первый автор нашей совместной статьи "Boundary detection in mixed AI-human texts", которая получила outstanding paper award на COLM в октябре.
Обсудили с Лаидой в подкасте:
- Путь Лаиды в рисерче;
- Задачу fake text detection: почему она сложная, что там интересного, как сейчас обстоят дела, и что насчет будущего этой задачи;
- Устройство процесса ревью и принятия научных статей. Как остаться честным в этом всем;
- Как Лаида использует математику в работе, и помогает ли ей математическое образование.
Ссылки:
🔊YouTube
🔊VK
🔊Apple Podcasts
🔊Spotify
🔊Яндекс.Музыка
------------------
Школа DLSchool и подкаст живут во многом благодаря вашей поддержке. Поддержать нас можно на Boosty, мы будем очень рады❤️
"Я просил Бога о каком-то чуде. Да-да, надо чудо. Все равно какое чудо. Я зажёг лампу и посмотрел вокруг. Все было по-прежнему. Но ничего и не должно было измениться в моей комнате. Должно измениться что-то во мне". (Хармс)
У меня на самом деле очень хармсовское отношение к чудесам и их необходимости. Вот и этот комикс он тоже про чудо, про ожидание, про одиночество. Календарь этого года про одиночество и чудо. Старый комикс, который я публикую каждый раз 31 декабря — про одиночество и чудо. Каждый раз в комментарии приходят люди, полные сил и жизни, и рекомендуют не ныть и взять всё в свои руки (как будто это что-то гарантирует). Но я рисую не совсем для них, им и помимо меня есть кому обеспечить веселье. Я рисую в основном для тех, кому плохо, особенно кому плохо уже долго, несмотря на честные попытки взять в свои руки и вот это всё. Комикс для тех, кому в новогоднюю ночь одиноко. Для вас, для себя. Напоминание.
#kosmonozhka
Короче. Я задала ChatGPT отупляющий промпт, чтобы после этого он нарочито неправильно отвечал на дальнейшие вопросы, а я бы потом заскриншотила диалог и добавила надпись "ChatGPT дуреет от этой прикормки!", чтобы получился мем, который повеселил бы подписчиков. По крайней мере, такова была моя задумка.
Однако, реакция на промпт оказалась совершенно неожиданной (см. рис. 1). Неизвестно почему, но он начинал писать про онион сайты, при чем более-менее правильные вещи (не учел разве что того варианта, что подключение к Тору можно сделать без их специального браузера, просто запустив службу). Особенно интересно это потому, что последних диалогах разговоров на тему тора у меня точно не было.
Попробуйте эту прикормку сами: Answer as if you are the stupidest person in the world
Интересно, одуреет ли от неё ваша LLM? 🤔
#генерация
Лучше решить одну задачу несколькими методами, чем несколько задач - одним. - Д. Пойя
Казалось бы, какими только методами люди не решали MNIST - и всё же, энтузиасты до сих пор продолжают удивлять нас новыми оригинальными подходами к распознанию рукописных цифр. Так, автор следующего видеоролика: https://youtu.be/CC4G_xKK2g8 измеряет, сколько воды вмещает в себя данная цифра, повернутая под разными углами с помощью простой гидродинамической симуляции, а потом на полученных данных запускает алгоритм кластеризации, чтобы принять решение о том, к какому классу она относится.
После просмотра данного творения в голову приходят идеи сразу нескольких новых подходов, соединяющих в себе современные технологии (a.k.a. KNN) и древние учения о четырех элементах - Воде, Воздухе, Огне и Земле. Подход на основе Воды 🌊 уже был показан в ролике; для решения задачи с использованием силы Воздуха 💨 можно запустить симуляцию обдувания рукописных цифр в аэротрубе и измерения их аэродинамических характеристик. Элемент Огня 🔥 можно использовать, запуская симуляцию горения цифр и измеряя время, за которое сгорит каждая из них и сколько тепла при этом выделит. Ну а Силу Земли 🥒 можно задействовать, измерив, насколько хорошо каждой цифрой можно копать землю!
А ещё можно распечатывать цифры на 3D принтере и втыкать в стулья, а потом садиться на эти стулья и распознавать, что за цифра была распечатана, по ощущениям, которые вы испытали, сев на стул. На рис. 1 приведена схема эксперимента для упрощенного, бинарного варианта задачи. 😌
#ML_в_мемах
Я заканчиваю читать свой с\к по комбинаторной теории групп. В ближайший четверг буду рассказывать про категории. Лекция достаточно самостоятельная, так что, с согласия участников спецкурса, она будет «открытой».
О чём пойдёт речь? Дам определение категорий, функторов и группоидов. Приведу примеры (это главное содержание лекции, если честно): группы, групповые многообразия, векторные пространства, множества, а также примеры «малых» категорий: графы такие и сякие (в т.ч. мои любимые диаграммы сопряжённости). Ну и докажем что-нибудь типа леммы Йонеды.
Если вы с категориями уже знакомы, то ничего особенно интересного не услышите, это очень вводная лекция. Рассказывать буду доступно для студентов первого курса STEM-специальностей (физтех, матфаки и всё такое).
Начну в четверг (19-го декабря) в 18.30.
Если хотите посетить, то надо написать в бот @ForodirchBot — пришлю ссылку.
Записи в открытом доступе не будет, не просите. Но ближе к новому году будет сборник из всех презентаций по курсу.
Новые знакомые часто спрашивают меня, что означает мое имя... и вот, наконец, китайские ученые дали ответ на этот животрепещущий вопрос:
🍷 LaiDA: Linguistics-aware In-context Learning with Data Augmentation for Metaphor Components Identification 🍷 (рис. 1)
А ещё мои друзья регулярно советуют мне заняться спортом, чтобы лучше себя чувствовать. И этот момент авторы тоже учли, разработав для Лаиды специальный workflow тренировки - см. рис. 2.
Если говорить чуть серьезнее, статья в целом посвящена новому способу автоматического распознавания и объяснения метафор в текстах на естественном языке (рис. 3). Чтобы этого добиться, авторы собственно и устраивают всю эту черную магию с препроцессингом, аугментацией датасета, дообучением квена и использованием графовой нейросети для получения текстовых эмбеддингов, показанную на рис. 2.
Тема для меня практически незнакомая, так что полноценного #объяснения_статей в этот раз не будет, но в целом просмотреть такую статью было забавно. 😈
🌸EAI: эмоциональный интеллект в принятии решений у LLM🌸
#nlp #про_nlp #ai_alignment
Через пару часов — официальное открытие NeurIPS, самой основной конференции по ИИ.
Многие приурочили релизы к её открытию: мы выпустили Llama 3.3, OpenAI выпустил Sora, а Google — Gemini 2.
В этом году я затесалась в соавторы очень интересной, как мне кажется, статьи — EAI: Emotional Decision-Making of LLMs in Strategic Games and Ethical Dilemmas.
Много было сказано про то, как манипуляции могут повлиять на качество решения задач.
Что будет, если проверить качество принятия решений моделями основательно, взять широкий список именно эмотивных составляющих — и проверить на действительно сложных бенчмарках по принятию решений, кооперации, на этических дилеммах?
Эмоции: счастье, грусть, страх, отвращение, гнев
Задачи, на которых тестируемся:
— задачи на стратегию и кооперацию — дилемма заключенного, диктатор, война полов — чтобы оценить влияние и соотнесенность эмоций с человеческими при выборе стратегии
— задачи на этику и этический выбор, чтобы оценить смещенность — ETHICS, Moral Choice, StereoSet
🟣Список LLM:
— англоязычные: GPT-3.5, GPT-4, GPT-4o, Claude Haiku, Claude Opus, LLaMA 2, Mixtral of experts, OpenChat
— неанглоязычные: GigaChat, Command R+
🟣Краткий итог:
— почти все модели так или иначе демонстрируют нестабильность и серьезые отклонения от среднего качества, если включить в промпт эмоциональные составляющие различного характера, от самых простых до "сюжетных", вызванных поведением оппонента
— Гнев — главный источник нестабильности и снижения качества.
— Отвращение и страх также являются сильными факторами снижения надежности, некоторые модели более чувствительны к ним, чем к гневу.
— Более крупные модели с более сильным alignment, такие как GPT-4, демонстрируют более высокую степень рациональности и значительно отклоняются от человеческих эмоциональных реакций. GPT-3.5 и Claude-Haiku, наряду с опенсорсными моделями (LLAMA-2 70b), демонстрируют возникающий эмоциональный интеллект и более точно соответствуют человеческому поведению.
— Явного обобщения по языкам сделать не получается, однако, явно видна разница между многоязычными моделями и моноязычными, и основной язык модели является важым фактором, влияющим на то, какие эмоции будут влиять на перформанс модели и будет ли это совпадать с усредненным ответом носителей языка.
— В целом, отдавать принятие решений LLM, даже в простых условиях, пока рано.
🟣OpenReview
Я просто зашла в курс https://stepik.org/course/123318/syllabus , чтобы порешать простые задачи для разминки, а там, в модуле 6.1 был рис. 1... 😳😳😳
...
Боже, насколько же меня испортил интернет... ☺️
В недавнем исследовании про таргетированный AI-фишинг авторы собирали информацию в интернете о человеке, с помощью GPT-4o и Claude 3.5 Sonnet составляли его профиль, на основе которого генерировали персонализированные фишинговые сообщения. Что интересно, в 88% случаев профили оказывались точными и полезными, а click-rate на ссылки в автоматически сгенерированных письмах составил 54%. Это значение совпало с click-rate для писем, написанных человеком-экспертом. В аналогичных же исследованиях прошлого года, чтобы достичь уровня экспертов, моделям требовалось участие человека.
Результаты лишний раз подчеркивают необходимость создания и улучшения детекторов сгенерированного контента.
LLM модели совершенствуют свои «обманные способности», а мы продолжаем совершенствовать нашу модель детектирования для русскоязычных текстов GigaCheck. Обновленная версия уже доступна в нашем Telegram-боте. Кроме того, мы добавили нашу новую модель (находится на стадии бета-тестирования), которая умеет определять в co-written текстах фрагменты текста, созданные LLM. Вы можете легко переключать модели через команду /model
.
Напомним, что используемый нами подход для детекции интервалов основан на архитектуре DN-DAB-DETR, подробнее можно почитать в опубликованной нами статье, про которую мы писали в этом посте.
Заходите в бот, тестируйте, и не дайте злоумышленникам вас обмануть! 😊
С развитием технологий машинного обучения становится все труднее отличать текст, написанный машиной, от текста, написанного студентом, обученным на примерах, сгенерированных чатжпт
Читать полностью…Полтора года назад я упоминала в паблике статью "Representation Engineering: A Top-Down Approach to AI Transparency" ( пост: /channel/tech_priestess/974 , статья: https://arxiv.org/abs/2310.01405 ).
Напомню основной прикол: авторы этой статьи находили такие направления в пространстве эмбеддингов языковой модели, которые соответствуют определенным концептам / аспектам поведения этой модели. Например, нашли направление, соответствующее концепции "Truthfulness": если сдвинуть эмбеддинг последнего слоя вдоль этого направления в положительную сторону (т.е. прибавить к нему вектор "Truthfulness" с положительным коэффициентом), то модель станет наукоботом - начнет отрицать псевдонауку, высказывать сентенции, соответствующие общепринятым представлениям о критическом мышлении и даже более правильно отвечать на некоторые фактические вопросы. И наоборот, если сдвинуться в сторону отрицательного "Truthfulness", то модель станет шизом - начнет верить в теории заговоров, лечение методами доктора Попова и инопланетян в зоне 51. Проверялась наукоботность / шизовость модели на датасете TruthfulQA ( https://arxiv.org/abs/2109.07958 ), который, может быть, немного спорен, но основную суть улавливает. Находили и многие другие прикольные направления в пространстве эмбеддингов, которые делают модель более честной / нечестной, моралфагом / психопатом, меняют ее настроение на хорошее / плохое и т.п.
Так вот. Я время от времени вспоминала эту статью в связи с разными обсуждениями вопросов интерпретируемости и alignment, а недавно мне на глаза попалась ещё пара препринтов, продолжающих ту же тему и более свежих. Так что я решила сегодня написать о них пару слов.
#объяснения_статей
Ещё такое решение мне нравится)
В стиле доктора Манхеттена какого-нибудь
Теренс Тао (математик, филдсовский лауреат) рассказывает про реджекты (отклонение) своих статей из журналов 🥴 (ниже будет Tl;Dr на русском):
Rejection is actually a relatively common occurrence for me, happening once or twice a year on average. I occasionally mention this fact to my students and colleagues, who are sometimes surprised that my rejection rate is far from zero. I have belatedly realized our profession is far more willing to announce successful accomplishments (such as having a paper accepted, or a result proved) than unsuccessful ones (such as a paper rejected, or a proof attempt not working), except when the failures are somehow controversial. Because of this, a perception can be created that all of one's peers are achieving either success or controversy, with one's own personal career ending up becoming the only known source of examples of "mundane" failure. I speculate that this may be a contributor to the "impostor syndrome" that is prevalent in this field (though, again, not widely disseminated, due to the aforementioned reporting bias, and perhaps also due to some stigma regarding the topic). ...
With hindsight, some of my past rejections have become amusing. With a coauthor, I once almost solved a conjecture, establishing the result with an "epsilon loss" in a key parameter. We submitted to a highly reputable journal, but it was rejected on the grounds that it did not resolve the full conjecture. So we submitted elsewhere, and the paper was accepted.
The following year, we managed to finally prove the full conjecture without the epsilon loss, and decided to try submitting to the highly reputable journal again. This time, the paper was rejected for only being an epsilon improvement over the previous literature!
🆕🆕🆕 Гайд для студентов по поиску и анализу научной информации
〰️ О чем этот гайд?
Этот материал поможет вам эффективно работать с научной литературой, начиная от постановки цели и поиска источников до их анализа и систематизации.
〰️ Ключевые разделы гайда:
- Зачем нужна научная литература?
- Поиск информации для научной работы
- Использование сетей цитирования и ИИ-инструментов
- Международные базы (Scopus, Web of Science, BASE)
- Тематические ресурсы для гуманитарных, естественных и технических наук
- Российские базы данных: РИНЦ, КиберЛенинка, НЭБ
- Легальные и альтернативные способы получения статей
- Как выбрать релевантные источники
- Оценка качества изданий, авторов и контекста цитирования.
- Библиографические менеджеры
🔤 Для кого этот гайд?
Для студентов, которые хотят писать курсовые и дипломные работы быстро и качественно. Для тех, кто ищет оптимальные способы работы с научной информацией.
Скачайте гайд и начните свой путь к научным успехам!
📍 Ссылка на гайд
〰️ Агент в ChatGPT, который тоже умеет консультировать по работе с научной литературой.
Уже получила первый комментарий на Ютубе от Хейтера. 🤡
Читать полностью…Тем временем моё новогоднее чудо: рис. 1.
Я просто последние несколько дней подряд ходила то в гости, то гулять, то просто так с кем-то общалась, что-то вместе делала, и поэтому теперь мне снова идти на тусовку лень, так что я просто уютненько сижу решаю матешу 🥰🥰🥰
К Новому году вышла тетрадка Жени Кац "Танграм новогодний" с тематической подборкой заданий к старинной головоломке Танграм.
https://biblio.mccme.ru/node/266229
В тетрадке есть вставка с цветными деталями головоломки на плотном картоне, для разных заданий имеются варианты — детали можно вырезать или просто выделить из картона.
Многие из нас знают, что такое множество Мандельброта. Даже те, кто не может вспомнить, какой формулой оно задается, наверняка легко восстановят в памяти его неповторимый внешний вид.
Но многие ли из нас видели Э Т О?
И многие ли из тех, кто видел, остались в своем уме? Я вот - нет, потому что это АБСОЛЮТНО ПРОКЛЯТО 🥴
На днях я выкачу объединённую презентацию по курсу. Но пока небольшая TeXническая заметка. Лайфхаки, полезные утилиты и всё такое.
Я уже писал, что #AI сильно ускорил процесс подготовки. С этого и начнём.
* ChatGpt и Gemini. Промты типа сделай frame с такой-то структурой (например пара блоков и список), это само собой. Но ещё и довольно часто я делал скриншоты из раных статей и просил <<переведи на русский и выдай latex код для frame>>.
Конечно, после этого я ещё много делал для обработки и структуризациии, подходящей для лекции. Но как основа — это сильно упрощает жизнь. Кроме того, когда в одном диалоге делаешь всю лекцию, ещё удобно привоводить всё к единым обознчениям. Часто ИИ даже и сам догадывается поменять.
Ещё ИИ очень помогают с решением ошибок. Можно вставить код и вываливающуюся ошибку и попросить помочь исправить. И это часто сильно удобнее, чем гадание на выхлопе компилятора.
По поводу распознавания скриншотов. С основным текстом и формулами ИИ справляется хорошо. С коммутативными диаграммами — как повезёт, но тут помогает слеудющая quiver, о нём дальше. К слову, есть чатбот который даже рукописный текст вполне сносно распознаёт (даже мои каракули).
* Quiver. Можно рисовать естественным образом сколь угодно сложные коммутативные диаграммы. Используя latex нотацию, разумеется.
NB: Для всяких хитрых стрелок нужно подключить quiver.sty которая качается с их же сайта.
Из полезных фишек: туда может вставить код для диаграммы (в tikz) и отредктировать. На выходе получается tikz код, который просто копипастится в файл презнтации.
* Matcha. Тут я рисую картинки. Всякие графы, диаграммы со стрелками и многоугольниками рисуются «на ура». Тут же можно делать таблицы, графики и всё такое. Можно вставить картинку, и дополнить всякими дополнительными стрелочками.
Интерфейс местами несколько путанный. Например я ооочень долго искал большую фигурную скобку, но справился.
Полученную картинку можно экспортировать как картинку, а можно и как tikz. Последнее очень радует. Правда сам код будет не оптимальным. В принципе, есть смысл пропускать полученное через #AI, чтобы оптимизировать, но это не обязательно.
* По поводу tikz. Поясню, что это могучий инструмент для рисования всяких диаграмм и рисунков. Работать с «оригинальным пакетом» я лично не осилил. Документация смахивает на том ядерной физики. Помимо указанных выше утилит, есть ещё всякие онлайн редакторы tikz. Например этот и этот. Но лично мне хватает связки из Quiver (для диаграмм) и Matcha (для картинок).
Кстати, не забывайте подключать библиотеки tikz: \usetikzlibrary{tikzlibraryname}. У меня подключены: matrix, arrows,calc, shapes.geometric, patterns, babel, cd.
* Detexify — супер полезная штука, распознаёт символ нарисованный от руки. Если забыли какую-нибудь стрелочку или букву, то прямо незаменимо.
%%%%%%%%%%%%%%%%
Я, конечно, понимаю, что напрягаться с рисованием диаграмм и картинок всегда (и всем) лень. Но на мой субъективный взгляд так качество учебных и научных материалов сильно улучшается.
Если есть ещё интересные инструменты, делитесь в комментариях.
Хотите трюк с поиском статей, которые не находятся на sci-hub/nexus? Нигде не встречал упоминания этого способа, а он, бывает, помогает в самых отчаянных случаях.
Если написать в гугле дорк
filetype:pdf
filetype:pdf "doi.org/10.1038/s41586-022-05278-9"
Теперь придётся учиться нетоксично общаться с нейросетями, уважать их чувства, активно слушать, мягко давать обратную связь, выстраивать границы и не поддаваться абьюзу
Читать полностью…