<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блоги: заметки с тегом ИИ</title>
<link>https://blogengine.me/blogs/tags/ii/</link>
<description>Автоматически собираемая лента заметок, написанных в блогах на Эгее</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.0 (v4079e)</generator>

<itunes:subtitle>Автоматически собираемая лента заметок, написанных в блогах на Эгее</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit>no</itunes:explicit>

<item>
<title>FP8 и Nvidia A100</title>
<guid isPermaLink="false">137719</guid>
<link>https://bolknote.ru/all/fp8-i-nvidia-a100/</link>
<pubDate>Thu, 09 Oct 2025 22:08:18 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/fp8-i-nvidia-a100/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Недавно вышла новая модель &lt;i&gt;Qwen3&lt;/i&gt; с 80 миллиардами параметров. Мы её решили попробовать, но оказалось, что версия фреймоворка &lt;i&gt;vllm&lt;/i&gt;, которую мы используем, с ним несовместима. Чтобы не экспериментировать на своём оборудовании, арендовали у «Селектела» две &lt;i&gt;Nvidia A100&lt;/i&gt;. Хотели что-нибудь поновее, но всё расхватали.&lt;/p&gt;
&lt;p&gt;Модель рассчитывали взять квантованную до &lt;i&gt;FP8&lt;/i&gt;, такая есть в выпущенном наборе моделей. Нам она хорошо подходит — &lt;a href="https://bolknote.ru/all/kakaya-model-u-menya-zapustitsya/"&gt;как раз уместится&lt;/a&gt; в память наших карт. Я рассчитываю, что 80 миллиардов с точностью восемь бит побьют предыдущие тридцать с вдвое большей точностью.&lt;/p&gt;
&lt;p&gt;Но нас тут ждало разочарование — карты &lt;i&gt;A100&lt;/i&gt; тип &lt;i&gt;FP8&lt;/i&gt; не поддерживают, есть только эмуляция через FP16. Так как карты с &lt;i&gt;FP8&lt;/i&gt; всё равно пока арендовать не получится, выделили себе четыре &lt;i&gt;A100&lt;/i&gt; и поставили полную модель, без квантованния. Не совсем то, что хотелось, но всё равно полезно посмотреть как встанет и немного погонять по производительности.&lt;/p&gt;
&lt;p&gt;В итоге, «завалить» модель одновременными соединениями не вышло (модели, которые мы крутили на одной или двух &lt;i&gt;H100&lt;/i&gt; заваливались), время ответа от нашего эталонного промпта получилось от 3,59 секунд до 8,74. Это очень быстро.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.09.09.2@2x.webp" width="1000" height="725" alt="" /&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>ИИ-сериал. Пробую — не работает</title>
<guid isPermaLink="false">137646</guid>
<link>https://eelmaa.life/all/ii-serial-probuyu-ne-rabotaet/</link>
<pubDate>Sat, 04 Oct 2025 22:51:37 +0500</pubDate>
<author>Юрий Ээльмаа</author>
<comments>https://eelmaa.life/all/ii-serial-probuyu-ne-rabotaet/</comments>
<description>
&lt;p&gt;&lt;a href="https://eelmaa.life/"&gt;Юрий Ээльмаа&lt;/a&gt;:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://eelmaa.life/pictures/googleappsscript.jpg" width="720" height="576" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;В настоящее время я довольно много экспериментирую с различными системами искусственного интеллекта (ИИ): пробую самостоятельно, читаю об опыте, делаю эксперименты. В общем, думаю. Естественно, ИИ меня интересует не сам по себе, а применительно к использованию  в образовании. Есть очень интересные авторы, предлагающие самые неожиданные повороты и допущения. А есть (и их масса) сказителей с похожей песней:&lt;/p&gt;
&lt;p class="quote"&gt;«Вот ChatGPT, вот Deepseek, вот X, Y, Z. Ссылки еще на 10 сервисов я собрал ниже. Посередине экрана у них поле — сюда забиваете запрос, теперь надо говорить „промпт“. И ваша жизнь изменится!»&lt;/p&gt;
&lt;p&gt;Но про сервисы мне неинтересно. Во-первых, я вряд ли могу объяснить, чем реально одна LLM отличается от другой (да и кто это, кроме разработчиков, знает?). Во-вторых, мне интересно, какие новые задачи я могу решать при помощи этих новых инструментов, а не какого цвета у них интерфейсы. И вот тут становится уже очень интересно.&lt;/p&gt;
&lt;p&gt;Обычно размышления и выводы рождаются из конкретного кейса использования. Так и сейчас — расскажу про один эксперимент.&lt;/p&gt;
&lt;p&gt;&lt;h1&gt;Пробую — не работает&lt;/h1&gt;&lt;/p&gt;
&lt;p&gt;Понадобилось решить простую, как мне изначально казалось, задачу. Вот есть гуглотаблица, с ней есть список, допустим, из 100 строк. Строки мной руками красятся и потом перекрашиваются в красный, желтый, зеленый цвета. То есть сперва ячейка была красная, а потом стала зеленая. Можно ли вывести сбоку «легенду», где отображалось бы, сколько ячеек какого цвета в списке?&lt;/p&gt;
&lt;p&gt;Явно ведь несложная задача. Погуглил — ничего. Ладно, пойдем к ИИ.&lt;/p&gt;
&lt;p&gt;Сперва мне сообщили, что задача сложная, ресурсами Spreadsheets не решается, потому что цвет — это не данные, а признак. И мне нужен для этой цели Google Apps Script. Узнал, что он есть. Сразу же дали javacript, объяснили, как сохранить-вставить и какую формулу в ячейках надо писать.&lt;/p&gt;
&lt;p&gt;Пробую — не работает.&lt;/p&gt;
&lt;p&gt;Чтобы не ковыряться в коде самому (ибо в таком не умею) — прошу его переписать, исходя из того, что список у меня находится в столбце А. Переписывает. Новый код — вставляю.&lt;/p&gt;
&lt;p&gt;Пробую — не работает. Выдает error с указанием строки.&lt;/p&gt;
&lt;p&gt;Сообщаю ИИ об этом. Получаю весть, что &lt;i&gt;«Проблема, скорее всего, в том, что вы передаете в функцию COUNT_BY_COLOR неправильный аргумент, из-за чего скрипт не может найти указанный диапазон»&lt;/i&gt;. Это он сам себе, видать, объяснил. Я не стал просить объяснить мне попроще, я не учиться пришел, мне задачу надо решить. ИИ предлагает 2 решения. И обновленный код скрипта.&lt;/p&gt;
&lt;p&gt;Пробую оба — не работают. Та же ошибка. Говорю: ау, не работает.&lt;/p&gt;
&lt;p&gt;Здесь ИИ предлагает 3 (!!!) причины, почему это может быть и предлагает 2 новых (!!!) решения.&lt;/p&gt;
&lt;p&gt;Пробую последовательно — не работает.&lt;/p&gt;
&lt;p&gt;ИИ предлагает: &lt;i&gt;«Давайте ещё раз внимательно проверим, как вы вводите формулу»&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Проверили. Пробую — не работает. ИИ понимает, что случай тяжелый и клиент тонет и предлагает: пришли мне скришот — я разберусь. Скриншот, Карл! Делаю, прикрепляю.&lt;/p&gt;
&lt;p&gt;ИИ отвечает: &lt;i&gt;«Судя по скриншоту, проблема, скорее всего, в разделителе аргументов в формуле. В русскоязычной версии Google Таблиц в качестве разделителя используется точка с запятой (;), а не запятая (,).»&lt;/i&gt;. Предлагает следующие 2 решение, дает обновленный скрипт.&lt;/p&gt;
&lt;p&gt;Отладка скрипта прошла (ИИ комплиментарно порадовался, что у нас хоть что-то работает), но у нас новая ошибка.&lt;/p&gt;
&lt;p&gt;— &lt;i&gt;Отлично&lt;/i&gt;, — говорит ИИ, — &lt;i&gt;может, у нас скрипт сложноватый? Давайте-ка я вам его упрощу. Держите.&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Пробую — не работает.&lt;/p&gt;
&lt;p&gt;ИИ отвечает: &lt;i&gt;«Это очень странно и должно быть крайне неприятно. Если даже упрощенный код выдает „Ошибка: Range not found“, это указывает на очень специфическую проблему… Чтобы раз и навсегда решить эту проблему, давайте полностью откажемся от ссылок на ячейки и будем использовать их номера прямо в формуле».&lt;/i&gt; Дает решение.&lt;/p&gt;
&lt;p&gt;Пробую — ЗАРАБОТАЛО! Но ларчик просто не открывается. Если я перекрашиваю красную ячейку в желтую — цифры не меняются. Понятно, форматирование — не значение ячейки. Возвращаюсь: ИИ, работает наполовину, мне так не нужно, что делать будем?&lt;/p&gt;
&lt;p&gt;Он спрашивает: а давайте введем переключатели? Я могу предложить решение, но тогда для перекраски легенды вам нужно будет кликнуть на эту ячейку. Вам не затруднит, вы согласны? Снисходительный барин в моем лице соблаговоляет. Получаю новый скрипт.&lt;/p&gt;
&lt;p&gt;Пробую — скрипт начинает работать, как мне и нужно. Задача решена. Занавес.&lt;/p&gt;
&lt;p&gt;А теперь давайте по шагам подумаем, что произошло.&lt;/p&gt;
&lt;p&gt;&lt;h1&gt;Некоторые наблюдения&lt;/h1&gt;&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;У меня была конкретная задача, которую я мог описать. Что, кстати, не всегда бывает. Мне казалось, что она решается несложно, штатными средствами инструмента. Выясняем, что штатно не решается, но есть способ. Моей квалификации на использование этого способа не хватает, в обычной ситуации здесь следует поворот в тупик. Но я не новый учебник пришел читать, у меня задача висит нерешенная.&lt;/li&gt;
&lt;li&gt;ИИ раз за разом предлагает мне разные решения и, реагируя на мое поведение, ведет со мной диалог. Не уставая. То есть я могу до предела оставаться непонимающим — и это остается его проблемой. Если бы сказал, что не умею — он бы и скриншоты меня научил делать. Мы пробуем разные способы и после каждого фиаско ИИ притаскивает мне новое решение. Чтобы найти его — он даже скриншоты у меня запрашивает.&lt;/li&gt;
&lt;li&gt;Меня удивил пассаж: &lt;i&gt;«Судя по скриншоту, проблема, скорее всего, в разделителе аргументов в формуле. В русскоязычной версии Google Таблиц в качестве разделителя используется точка с запятой (;), а не запятая (,)»&lt;/i&gt; Вы понимаете, какая это мелкая, даже не знаю, где описанная деталь — в каком мануале на полях или на последней странице форума разработчиков это можно почерпнуть? И можно ли не разбирающемуся человеку догадаться вообще о ее существовании? Никогда.&lt;/li&gt;
&lt;li&gt;ИИ — сторонник красивых решений. Только перебрав всё (точнее, не всё, он бы и дальше искал, если бы я запрашивал) стандартное, он начал думать в другой парадигме: попросить промежуточной активности пользователя. Думаю, если бы я на это не согласился, он бы вернулся к поиску решений обычных.&lt;/li&gt;
&lt;li&gt;Заметил, что надо постоянно держать в голове, какую задачу ты решаешь. Не уходить вбок, следуя предложения ИИ (хотя интересно), а постоянно возвращать его: мы решаем мою задачу. Он хорошо дисциплинируется:)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;h1&gt;Некоторый вывод&lt;/h1&gt;&lt;/p&gt;
&lt;p&gt;Стал ли большим специалистом в Google Apps Script, понимал ли код, который мне давали и чем одна версия отличается от другой? Нет, этой цели у меня не было, я решал свою конкретную задачу: как перекрашивать ячейки. В обычной ситуации я либо бы бросил (99%) и результата бы не получил, либо отправился читать учебник «Азы Javascript» и через дни-недели-месяцы вернулся бы к этой задаче… Да что я вру, там появились бы новые, а эту бы я забыл, точнее, не забыл, а она бы осталась нерешенной. А тут, не имея квалификации, я могу решать нужные, но сложные задачи. Решения которых раньше не представлял.&lt;/p&gt;
</description>
</item>

<item>
<title>Приступ «гопникомании»</title>
<guid isPermaLink="false">137632</guid>
<link>https://bolknote.ru/all/pristup-gopnikomanii/</link>
<pubDate>Fri, 03 Oct 2025 14:05:04 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/pristup-gopnikomanii/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Постоянные читатели могут помнить, что я являюсь поклонником &lt;a href="https://bolknote.ru/all/2410/"&gt;двух текстовых квестов «Гопник»,&lt;/a&gt; написанных неизвестными авторами в нулевых. Я очень плохо отношусь к этой субкультуре, тем не менее эти квесты почему-то запали мне в душу. Поэтому я иногда возвращаюсь к этой теме и даже потихоньку пилю &lt;a href="https://github.com/bolknote/gopnik2/"&gt;форк второй части&lt;/a&gt;, правя в нём ошибки, кое-что рефакторя и иногда добавляя в игру что-то новое.&lt;/p&gt;
&lt;p&gt;Исходный код оригинальной игры, по всей видимости, канул в лету, но мне когда-то повезло наткнуться на &lt;a href="https://gamedev.ru/flame/forum/?id=138845"&gt;неоконченный порт&lt;/a&gt; этой игры под Линукс. С тех пор я ей иногда занимаюсь.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.10.03@2x.webp" width="1000" height="500" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Заставка оригинальной игры, взятая из текстового файла описания&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Недавно в мой репозиторий пришёл некий активный гражданин и навёл там суеты, за что я ему благодарен. В частности, он подчеркнул кое-какие изъяны в балансе, плюс оказалось, что в процессе перевода кода с сишного &lt;tt&gt;printf&lt;/tt&gt; на модуль Си++ &lt;tt&gt;fmt&lt;/tt&gt;, я поломал буферизацию в Винде, которую когда-то &lt;a href="https://bolknote.ru/all/gopnik-2-buferizaciya/"&gt;чинил&lt;/a&gt; простым макросом.&lt;/p&gt;
&lt;p&gt;Слава нейросетям, всё это удалось довольно быстро исправить. В жизни я постоянно ворчу на вайб-кодинг и хоть правка исходников этой игры, казалось бы, один из успешных примеров вайб-кодинга, на деле мне всё время приходилось смотреть что мне там предложила нейросеть и направлять её в нужную сторону. Нередко она решала проблему неправильно, либо внешне всё исправлялось, но исправление вносило баг в другие части кода.&lt;/p&gt;
&lt;p&gt;Тем не менее, как мне кажется, с нейросетью я делал исправления куда быстрее, чем это вышло бы у меня без неё. Кстати, очень здорово выручают тесты — если попросить нейросеть написать тест, а потом добиться чтобы он заработал (или хотя бы не сломался), то участие человека требуется минимальное.&lt;/p&gt;
&lt;p&gt;Зачесались руки что-нибудь добавить в игру, но всё спотыкается о моё плохое знание языка гопников, когда-то, как мне кажется, я довольно умело ему подражал, но те времена прошли. Когда я пытаюсь придумать фразы на гопническом, получается как-то слишком стерильно, не знаю что с этим делать. Нейросети не помогают — встроенная мораль не позволяет им ругаться.&lt;/p&gt;
</description>
</item>

<item>
<title>Модели BitNet</title>
<guid isPermaLink="false">137592</guid>
<link>https://bolknote.ru/all/modeli-bitnet/</link>
<pubDate>Sun, 28 Sep 2025 14:20:57 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/modeli-bitnet/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Эксперементировал сегодня ночью с моделями &lt;i&gt;BitNet&lt;/i&gt;. Это небольшие (1—2 миллиарда параметров) модели очень низкой битности — 1,58 бит. Причём это не квантизация, они сразу так обучены. Интересны тем, что работают настолько быстро, что их можно запускать без графических ускорителей.&lt;/p&gt;
&lt;p&gt;Было интересно посмотреть с какими типами задач они способны справиться.&lt;/p&gt;
&lt;p&gt;Давал несложные задачи генерации текста, выделения сущностей, классификации, перевода с английского на русский, написания эскуэля, но что-то не нащупал область применения. Везде она кое-как справляется, но неудовлетворительно — чаще не решает задачу, чем решает.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.09.28.1@2x.webp" width="1000" height="350" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;На скриншоте у меня задача по написанию крайне простого эскуэля. Выглядит хорошо, задача решена, но это верхний предел этой модели — если дать ещё одну таблицу, всё сыпется в половине моих тестов. А если в задачу добавить ещё и &lt;tt&gt;LEFT JOIN&lt;/tt&gt;, то тесты не проходят вообще — модель ни разу ничего адекватного не написала даже с очень детальными подсказками.&lt;/p&gt;
&lt;p&gt;Поразительно, конечно, что сети такой низкой битности вообще как-то работают и даже иногда дают какой-то осмысленный результат, но куда бы их можно было применить — мне решительно непонятно.&lt;/p&gt;
</description>
</item>

<item>
<title>Промпты и маленькие большие языковые модели</title>
<guid isPermaLink="false">137292</guid>
<link>https://bolknote.ru/all/prompty-i-malenkie-bolshie-yazykovye-modeli/</link>
<pubDate>Wed, 03 Sep 2025 23:35:25 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/prompty-i-malenkie-bolshie-yazykovye-modeli/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;«Любые предложения &lt;s&gt;люди&lt;/s&gt; языковые модели понимают иначе, чем тот, кто их вносит».&lt;br /&gt;
— третий закон Чизхолма.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;На работе довольно много в последнее время пишу промпты для небольших больших языковых моделей. Уж извините за оксюморон, но как иначе их называть? Большие языковые модели сейчас бывают очень разного размера. Я много использую модели размером примерно до 70 миллиардов параметров. Чаще — ещё меньше.&lt;/p&gt;
&lt;p&gt;Это очень сложно, потому что обязательно найдётся ситуация, где модель такого размера поймёт любую неаккуратно сформулированную инструкцию не так, как задумывалось.&lt;/p&gt;
&lt;p&gt;Быстро приучаешься в промптах заменять примеры того «как не надо» на «как надо», использовать минимум указательных местоимений, писать в конце списки самопроверки для модели и прочие хитрости.&lt;/p&gt;
&lt;p&gt;Тем не менее и это не помогает на 100%. В общих случаях всё равно где-то что-то ломается. В итоге, такие промпты похожи на ремонт: их нельзя завершить, можно только прекратить волевым решением.&lt;/p&gt;
</description>
</item>

<item>
<title>Qwen3, T4 и разные фреймворки</title>
<guid isPermaLink="false">137241</guid>
<link>https://bolknote.ru/all/qwen3-t4-i-raznye-freymvorki/</link>
<pubDate>Wed, 27 Aug 2025 23:15:04 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/qwen3-t4-i-raznye-freymvorki/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.08.27.1@2x.webp" width="1000" height="960" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Ещё немного знаний о запуске моделей на картах &lt;i&gt;T4&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Во-первых, карты &lt;i&gt;T4&lt;/i&gt; не поддерживают тип &lt;tt&gt;bfloat16&lt;/tt&gt;, поэтому при запуске надо указать параметр &lt;tt&gt;dtype&lt;/tt&gt; со значением &lt;tt&gt;half&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;При этом, если вы используете фреймворк &lt;i&gt;vllm&lt;/i&gt; и получаете ошибку «&lt;i&gt;Unsupported conversion from f16 to f16&lt;/i&gt;», то вероятно у вас установлена библиотека &lt;tt&gt;triton&lt;/tt&gt; с багом. Надо её либо обновить до последней версии, либо &lt;a href="https://github.com/unslothai/unsloth/issues/2491#issuecomment-2986507977"&gt;сдаунгрейдить до 3.2.0&lt;/a&gt;. Первое нам не помогло, а вот даунгрейд выручил.&lt;/p&gt;
&lt;p&gt;Во-вторых, вот у нас восемь карт с памятью по 16 гигабайт каждая, всего 128 гигабайт. Модель &lt;i&gt;Qwen3-30B&lt;/i&gt; там запустится, &lt;a href="https://bolknote.ru/all/kakaya-model-u-menya-zapustitsya/"&gt;простой расчёт&lt;/a&gt; в уме для этого я показывал. А что если нам надо запустить на тех же картах ещё что-то?&lt;/p&gt;
&lt;p&gt;Не проблема, давайте запустим не на всех картах, а скажем на пяти, 80 гигабайт же должно хватить, но не тут-то было. Количество карт, с которыми будет работать модель, должно делить 32 нацело — это особенность архитектуры модели и её запуска на фреймворке.&lt;/p&gt;
&lt;p&gt;Соответственно, мы можем запустить &lt;i&gt;Qwen3-30B&lt;/i&gt; только на восьми картах — на четырёх картах и меньше просто места не хватит, а остальное число карт не подходит.&lt;/p&gt;
&lt;p&gt;Поэтому чтобы уместить на этих картах что-то ещё, надо «поджать» количество потребляемой памяти на каждой из карт. Это делается параметром &lt;tt&gt;gpu-memory-utilization&lt;/tt&gt;, при этом придётся ещё и скорректировать &lt;tt&gt;max_model_len&lt;/tt&gt;, чтобы генерируемое умещалось в кеши.&lt;/p&gt;
&lt;p&gt;И последнее. Это слабо связано с предыдущим, но куда-то записать хочется. Чтобы скомилировать &lt;i&gt;llama.cpp&lt;/i&gt; восьмой версией &lt;i&gt;GCC&lt;/i&gt;, надо использовать следующие команды:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;cmake -S llama.cpp -B llama.cpp/build \
  -DCMAKE_CUDA_ARCHITECTURES=75 \
  -DCMAKE_CUDA_FLAGS=&amp;quot;-fPIC&amp;quot; \
  -DCMAKE_CXX_STANDARD=17 \
  -DCMAKE_CXX_STANDARD_LIBRARIES=&amp;quot;-lstdc++fs&amp;quot; \
  -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON

cmake --build llama.cpp/build --config Release -j --clean-first \
--target llama-cli llama-gguf-split llama-server&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;i&gt;Добавлено позже&lt;/i&gt;: проблема тут в том, что &lt;i&gt;GCC&lt;/i&gt; до версии 10 не содержит &lt;tt&gt;std::filesystem&lt;/tt&gt; в стандартной библиотеке, её можно подключить снаружи, но надо, чтобы она попала в конец линковки.&lt;/p&gt;
</description>
</item>

<item>
<title>GPU и охлаждение</title>
<guid isPermaLink="false">137199</guid>
<link>https://bolknote.ru/all/gpu-i-ohlazhdenie/</link>
<pubDate>Sun, 24 Aug 2025 02:37:58 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/gpu-i-ohlazhdenie/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Вот проблема хорошего решения которой я не знаю.&lt;/p&gt;
&lt;p&gt;Дано: серверный корпус, специально разработанный под установку графических ускорителей. Внутри установлены две карты &lt;i&gt;Nvidia H100&lt;/i&gt;, которые греются, как сволочи. Не сказать, что на критических температурах, но как-то слишком горячо.&lt;/p&gt;
&lt;p&gt;Проблема, как я её понимаю, в том, что в корпусе есть вентиляторы, есть датчики на материнской плате и процессорах и система корпуса знает обороты какого вентилятора поднять, чтобы всё это не перегрелось. Но у графических ускорителей свои датчики, о которых эта система не имеет ни малейшего понятия.&lt;/p&gt;
&lt;p&gt;В теории всем этим мог бы управлять Линукс, который там стоит, но он тоже понятия не имеет какими вентиляторами надо подуть, чтобы картам стало легче. То ли у нас это не настроено, то ли в принципе не настраивается.&lt;/p&gt;
&lt;p&gt;Проблему решили, выставив повышенные обороты на вентиляторах корпуса. Теперь всё холодное даже под нагрузкой — на графических ускорителях около 30 градусов. Но как будто должно быть какое-то более изящное решение.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.08.24@2x.webp" width="1000" height="400" alt="" /&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Какая модель у меня запустится?</title>
<guid isPermaLink="false">137101</guid>
<link>https://bolknote.ru/all/kakaya-model-u-menya-zapustitsya/</link>
<pubDate>Fri, 15 Aug 2025 20:10:06 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/kakaya-model-u-menya-zapustitsya/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Как узнать какая нейромодель у запустится на конкретной видеокарте? Вот, например, приходит к нам заказчик и говорит — у нас есть только две &lt;i&gt;Nvidia T4&lt;/i&gt;, запустится ли на ней модель, которую вы используете? Как быстро ответить на этот вопрос?&lt;/p&gt;
&lt;p&gt;Судя по спецификации, каждая &lt;i&gt;T4&lt;/i&gt; имеет на борту 16 гигабайт видеопамяти. Для целей, на которые нам выделяют видеокарты, мы используем модель &lt;i&gt;Qwen 3-30B&lt;/i&gt;, то есть у неё 30 миллиардов параметров.&lt;/p&gt;
&lt;p&gt;Каждый параметр хранится в двух байтах, плюс процентов 20 надо накинуть на всякие буферы. В итоге, получается, что нам нужно 30×2+20% = 80 гигабайт. 20% я грубо накидываю, можно вычислять точнее, но для прикидки сойдёт.&lt;/p&gt;
&lt;p&gt;Две карты по 16 могут работать вместе, современные фреймворки так умеют, то есть совокупно у нас всего 32 гигабайта. То есть модель не умещается?&lt;/p&gt;
&lt;p&gt;Полная модель не уместится, но есть квантованные версии. Дело в том, что модели хранят свои параметры в виде чисел с плавающей точкой. Чем точнее мы храним эти числа, тем лучше работает модель (в своих пределах, конечно). Если памяти у нас мало, хорошее решение — снизить точность. Модель от этого «поглупеет», но это может оказаться некритично.&lt;/p&gt;
&lt;p&gt;Мы выбрали квантование в 4 бита, то есть по половинке байта на модель. Таким образом, потребуется 30×0,5+20% = 18 гигабайт. Чуть-чуть не влезаем на одну видеокарту, но прогноз такой, что две должно хватить.&lt;/p&gt;
&lt;p&gt;Большую группу пользователей эти видеокарты не вывезут — всё-таки мощность у них невелика, но для небольших организаций (десятки человек) на наших задачах работать будет.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.08.15@2x.webp" width="1000" height="600" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Квантованная модель &lt;i&gt;Qwen3-30B&lt;/i&gt;, работающий на 2×&lt;i&gt;Nvidia T4&lt;/i&gt; 16 ГБ&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Ещё немного про Nvidia H100 NVL</title>
<guid isPermaLink="false">137048</guid>
<link>https://bolknote.ru/all/eschyo-nemnogo-pro-nvidia-h100-nvl/</link>
<pubDate>Sun, 10 Aug 2025 20:44:18 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/eschyo-nemnogo-pro-nvidia-h100-nvl/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Надо бы записать ещё немного фактов про &lt;i&gt;Nvidia H100 NVL&lt;/i&gt;, которую мы недавно запускали. А то забудется, а в интернете очень мало описано опыта людьми, которые делали что-либо с ней руками.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.08.10.1@2x.webp" width="1000" height="562" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Блок питания с подходящим для питания энвидевских карт разъёмом&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Во-первых, повторюсь, — как я &lt;a href="https://bolknote.ru/all/pitanie-dlya-nvidia-tesla-h100/"&gt;уже писал&lt;/a&gt;, карточка может работать в двух режимах, потребляя 310 или 400 Ватт. Отличается она в них, как легко догадаться, производительностью.&lt;/p&gt;
&lt;p&gt;Сначала мы запустили её в менее производительном режиме, так было быстрее — переходник я просто купил на «Авито» за наличку и забрал в течение часа. Позже мы получили блок питания, у которого есть специальный разъём для мощных видеокарт, с которого можно снять до 600 Ватт включительно.&lt;/p&gt;
&lt;p&gt;Во-вторых, в спецификации написано, что карта работает на шинах четвёртого и пятого поколения. &lt;a href="https://massedcompute.com/faq-answers/?question=Can%20I%20use%20NVIDIA%20H100%20NVL%20GPUs%20with%20a%20PCIe%203.0%20server%20motherboard?"&gt;На самом деле&lt;/a&gt; это не так, в интернете встречаются ссылки, где упоминается, что карта работает и на шине третьего поколения, просто обмен с ней будет медленнее. Могу на практическом опыте утверждать — это правда, на третьем поколении тоже работает.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.08.10.2@2x.webp" width="1000" height="259" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;И, наконец, в-третьих, с этим мы боролись дольше всего. Если плата видна на шине (команда &lt;nobr&gt;&lt;tt&gt;ls-pci&lt;/tt&gt;&lt;/nobr&gt;), но драйвер её не видит, загляните в &lt;tt&gt;dmesg&lt;/tt&gt;. Возможно там видно ошибки, которые я привёл на скриншоте.&lt;/p&gt;
&lt;p&gt;Если это так, включите в БИОСе опцию &lt;i&gt;RBAR&lt;/i&gt; (&lt;i&gt;ReBAR&lt;/i&gt;, &lt;i&gt;Resizeable BAR&lt;/i&gt;), а в параметры ядра добавьте опцию &lt;tt&gt;pci=realloc&lt;/tt&gt; (последнее, возможно, не обязательно, но утверждать не берусь).&lt;/p&gt;
</description>
</item>

<item>
<title>Китайская Nvidia A100</title>
<guid isPermaLink="false">137010</guid>
<link>https://bolknote.ru/all/kitayskaya-nvidia-a100/</link>
<pubDate>Wed, 06 Aug 2025 20:01:38 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/kitayskaya-nvidia-a100/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;У одного из клиентов в качестве оборудования для запуска нейросетевых моделей обнаружилось чудо-чудное — две карты &lt;i&gt;Nvidia A100 96GB&lt;/i&gt;. Чудо заключается в том, что согласно &lt;a href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/a100/pdf/nvidia-a100-datasheet-us-nvidia-1758950-r4-web.pdf"&gt;спецификации на сайте производителя&lt;/a&gt; таких карт не существует — бывают только на 40 и 80 гигабайт, да и 500 Ватт они не кушают.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.08.06@2x.webp" width="550" height="325" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Я только вчера где-то читал, что в Китае есть огромный вторичный рынок энвидевских видеокарт — китайцы научились их ремонтировать и улучшать.&lt;/p&gt;
&lt;p&gt;Оказывается под «улучшать» &lt;a href="https://www.tomshardware.com/pc-components/gpus/enhanced-nvidia-a100-gpus-appear-in-chinas-second-hand-market-new-cards-surpass-sanctioned-counterparts-with-7936-cuda-cores-and-96gb-hbm2-memory"&gt;понимается&lt;/a&gt; наращивание памяти и разблокировка дополнительных ядер. При этом, чтобы всё это можно было использовать, на видеокарту заливается взломанная прошивка.&lt;/p&gt;
&lt;p&gt;Вот, кстати, непонятно — ядра заблокированы потому что они неисправны или это маркетинговый ход. Если первое, значит они могут работать с ошибками, а как их диагностировать и на чём это скажется — ума не приложу.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Добавлено позднее&lt;/i&gt;: в комментариях в канале справедливо заметили, что может быть и то и другое. Раньше так тоже делали — в процессоре делали дополнительные ядра, тестировали и, даже если все ядра были исправными, всё равно выключали часть, чтобы выпускать процессоры в рамках одной линейки.&lt;/p&gt;
</description>
</item>

<item>
<title>Питание для Nvidia Tesla H100 NVL</title>
<guid isPermaLink="false">136939</guid>
<link>https://bolknote.ru/all/pitanie-dlya-nvidia-tesla-h100/</link>
<pubDate>Wed, 30 Jul 2025 18:24:07 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/pitanie-dlya-nvidia-tesla-h100/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Хочу записать себе новые знания.&lt;/p&gt;
&lt;p&gt;Видеокарта &lt;i&gt;Nvidia Tesla H100&lt;/i&gt;, про которую я &lt;a href="https://bolknote.ru/all/nvidia-tesla-h100/"&gt;вчера писал&lt;/a&gt;, вставляется в шину &lt;i&gt;PCIe&lt;/i&gt; пятого поколения. Оттуда она может получить максимум 75 Ватт, тогда как карте надо больше. Она может работать, &lt;a href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/h100/PB-11773-001_v01.pdf"&gt;согласно спецификации&lt;/a&gt;, в одном из двух режимов — с потреблением 310 или 400 Ватт в пике.&lt;/p&gt;
&lt;p&gt;Для этого используется вот такой кабель. Ток, который он может подвести от разъёма материнской платы, ограничен сечением проводов внутри кабеля. Оно может различаться в зависимости от производителя. Но как карта узнаёт сколько мощности ей можно получить, чтобы не пережечь кабель?&lt;/p&gt;
&lt;p&gt;Оказывается, для этого используется специальный интерфейс, четыре контакта которого видно слева.&lt;/p&gt;
&lt;p&gt;Два провода из четырёх кодируют ток, который может отдавать кабель, остальные два сейчас не используются. Сигналы 0 и 1 на этих проводах означают мощность от 151 до 300 Ватт, 1 и 0 — от 301 до 450.&lt;/p&gt;
&lt;p&gt;Бывают токи и выше, кодировка для них тоже предусмотрена, для этого используются провода с большим количеством «хвостов» — три или четыре.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.07.30@2x.webp" width="1000" height="562" alt="" /&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Nvidia Tesla H100 NVL</title>
<guid isPermaLink="false">136917</guid>
<link>https://bolknote.ru/all/nvidia-tesla-h100/</link>
<pubDate>Tue, 29 Jul 2025 21:13:04 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/nvidia-tesla-h100/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Вот так выглядит видеокарта &lt;i&gt;Nvidia Tesla H100 NVL&lt;/i&gt; — одна из трёх карт, на которых мы гоняем различные модели искусственного интеллекта. Сбоку видно, что она большая, но и толщина у неё огого — в два пальца. Извините, что не достал, страшно доставать карту стоимостью в несколько миллионов из антистатического пакетика — вдруг статикой убъёшь.&lt;/p&gt;
&lt;p&gt;На этой карте мы гоняем небольшие пока модели — примерно 30—32 миллиарда параметров (&lt;i&gt;Qwen3&lt;/i&gt;, &lt;i&gt;Magistral&lt;/i&gt;, &lt;i&gt;Mistral&lt;/i&gt;, &lt;i&gt;T-Pro 2&lt;/i&gt; и так далее), но в перспективе там будет работать что-то побольше — ≈600 миллиардов или около того.&lt;/p&gt;
&lt;p&gt;К слову, взаимодействие с хвалёной моделью &lt;i&gt;T-Pro 2&lt;/i&gt; (её делал Т-Банк) меня как-то разочаровало — медленная и иногда циклится на цифрах. Я попробовал её, помимо всего прочего, на написании эскуэль-запросов, так она иногда вместо имён таблиц внезапно начинает генерить огромные числа. Я ни разу не дождался конца, поэтому не знаю есть ли там вообще конец.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.07.29@2x.webp" width="1000" height="562" alt="" /&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Очеловечивание ИИ</title>
<guid isPermaLink="false">136886</guid>
<link>https://bolknote.ru/all/humanizing-ai/</link>
<pubDate>Mon, 28 Jul 2025 20:37:30 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/humanizing-ai/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Мне кажется, одна из проблем во взаимодействии с большими языковыми моделями, проистекает из того, что мы, для описания работы с ними, пытаемся подобрать слова точные только в литературном смысле — «модель считает», «модель посоветовала» и так далее.&lt;/p&gt;
&lt;p&gt;Потом люди несут это дальше, думая, что эти глаголы адекватно описывают процессы, тогда как модель ничего не считает и не советует, она текст генерирует.&lt;/p&gt;
&lt;p&gt;Отсюда возникает непонимание почему модель не может посчитать количество букв в слове, решить переформулированную задачу на логику или ответить на мой вопрос с задержкой в тридцать секунд, если я это попросил.&lt;/p&gt;
</description>
</item>

<item>
<title>ИИ в дипломах</title>
<guid isPermaLink="false">136462</guid>
<link>https://bolknote.ru/all/ii-v-diplomah/</link>
<pubDate>Sun, 29 Jun 2025 22:24:44 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/ii-v-diplomah/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.06.29.1@2x.webp" width="1000" height="562" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фотография, сделанная из высотного корпуса КФУ&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Всё забываю рассказать.&lt;/p&gt;
&lt;p&gt;Я уже пятый год в составе комиссии принимаю дипломные работы в ИВМиИТе — это институт внутри Казанского Федерального Университета. Таким образом наша компания пытается отобрать себе способных студентов на работу.&lt;/p&gt;
&lt;p&gt;В этом году произошло кое-что, в принципе, ожидаемое, — листая диплом очередного студента, я наткнулся в исходном коде явные следы генерации кода большой языковой моделью. Поскольку у меня не было ни малейшего понятия как это соотносится с правилами факультета, где защищался этот студент, я обратил на эти следы внимание секретаря.&lt;/p&gt;
&lt;p&gt;Пока секретарь ходил выяснять как нам быть, — оказалось, что он тоже не в курсе, я погонял студента вопросами по тексту диплома. Очень похоже, что и всё остальное ему генерировала нейросеть — например, юнит-тестирование он перепутал с нагрузочным, а процент покрытия тестами с показателем надёжности системы.&lt;/p&gt;
&lt;p&gt;Секретарь вернулся с ответом от директора института. Тот сказал, что использование ИИ при написании диплома не только не запрещено, но и, пожалуй, даже хорошо — новые технологии надо осваивать.&lt;/p&gt;
&lt;p&gt;В итоге, мы поставили ему тройку. Не за беззастенчивое использование ИИ, а за плохое знание своей собственной дипломной работы.&lt;/p&gt;
</description>
</item>

<item>
<title>Недокументированные возможности bc</title>
<guid isPermaLink="false">136318</guid>
<link>https://bolknote.ru/all/nedokumentirovannye-vozmozhnosti-bc/</link>
<pubDate>Tue, 17 Jun 2025 20:03:31 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/nedokumentirovannye-vozmozhnosti-bc/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;У той версии утилиты &lt;tt&gt;bc&lt;/tt&gt;, которая является частью проекта &lt;i&gt;GNU&lt;/i&gt;, есть ряд недокументированных возможностей, про которые я узнал, исследуя её исходный код.&lt;/p&gt;
&lt;p&gt;Я уже &lt;a href="https://bolknote.ru/all/igra-viselica-na-bc-pod-linuks/"&gt;писал&lt;/a&gt; про недокументированную и сломанную функцию &lt;tt&gt;random()&lt;/tt&gt;, которая починена в новой версии &lt;a href="https://bolknote.ru/all/pochinili-random-v-bc/"&gt;моими усилиями&lt;/a&gt;. Но кроме этого, есть ещё две вещи отсутствующие в документации.&lt;/p&gt;
&lt;p&gt;Во-первых, у самой утилиты есть ключ &lt;nobr&gt;&lt;tt&gt;-c&lt;/tt&gt;&lt;/nobr&gt;, показывающий байт-код, в который переводится программа на языке &lt;tt&gt;bc&lt;/tt&gt;. Во-вторых, есть альтернативный синтаксис для передачи массива по ссылке — кроме символа &lt;tt&gt;*&lt;/tt&gt;, как везде, есть нестандартный символ &lt;tt&gt;&amp;amp;&lt;/tt&gt;.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.06.17@2x.webp" width="1000" height="310" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Но это я сам нашёл, руками. Стало интересно посмотреть, что могут найти языковые модели. Для исследования я выбрал редактор кода «Курсор» и модель &lt;i&gt;Claude Sonnet 4&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;С первого захода «Клод» нашёл много всего, но бо́льшая часть — вполне обычные возможности, присутствующие в документации. Засучил рукава, порылся в найденном. Кроме мусора там нашлось и полезное — ключ и функцию &lt;tt&gt;random()&lt;/tt&gt; он нашёл, но про символ &lt;tt&gt;&amp;amp;&lt;/tt&gt; не упомянул.&lt;/p&gt;
&lt;p&gt;Пришлось подтолкнуть — поместить в контекст нужный файл (&lt;tt&gt;bc.y&lt;/tt&gt;) и спросить нет чего-то недокументированного в нём. Со второго раза «Клод» обнаружил искомое, правда, и в этот раз добавил в список много пунктов не по делу.&lt;/p&gt;
&lt;p&gt;С минимальным участием человека нашлись все недокументированные возможности о которых я знаю — три из трёх, правда эти жемчужины пришлось искать вручную в кучке навоза.&lt;/p&gt;
&lt;p&gt;Какой вывод?&lt;/p&gt;
&lt;p&gt;Я считаю, что это, в определённом смысле, успех — «Клод» помог мне вычленить искомое гораздо быстрее, чем в своё время это сделал я. Да, без моей подсказки третью возможность он не нашёл, но и задача очень и очень нетривиальная.&lt;/p&gt;
</description>
</item>

<item>
<title>ДНК-портрет китайца</title>
<guid isPermaLink="false">135823</guid>
<link>https://bolknote.ru/all/dnk-portret-kitayca/</link>
<pubDate>Wed, 14 May 2025 20:55:39 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/dnk-portret-kitayca/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Пять лет назад я &lt;a href="https://bolknote.ru/all/dnk-portret/"&gt;мечтал&lt;/a&gt; о том, что когда-нибудь появится возможность рисовать портрет человека по ДНК. Очевидно, что до какой-то степени это должно быть возможно — генетика, например, совершенно точно влияет на цвет глаз. Вопрос в том, насколько точным будет такой портрет? Ведь на нашу внешность влияют образ жизни, среда и бог знает что ещё.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.researchgate.net/publication/391523295_De_Novo_Reconstruction_of_3D_Human_Facial_Images_from_DNA_Sequence"&gt;Утверждается&lt;/a&gt;, что теперь у нас есть ответ. Эксперименты идут давно, но недавно результат улучшили ещё на 12% и достигли совершенно былинных результатов.&lt;/p&gt;
&lt;p&gt;Китайцы представили модель, которая умеет генерировать трёхмерное изображение лица по ДНК с погрешностью в 3,5 миллиметра. Причём она умеет генерировать лицо в любом возрасте, что ещё более полезно. Лица, конечно, китайские, но вряд ли сложно перенести тот же опыт на другие типажи.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.05.14@2x.webp" width="1000" height="720" alt="" /&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Платная нейросеть ChatGPT</title>
<guid isPermaLink="false">135812</guid>
<link>https://bolknote.ru/all/platnaya-chatgpt/</link>
<pubDate>Tue, 13 May 2025 21:58:45 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/platnaya-chatgpt/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Решил попробовал оплатить ЧатГПТ на месяц (стоит 20 долларов). Интересно было какие плюсы это даёт. «На берегу», до решения, казалось, что это эксперимент на раз — попробую для успокоения любопытства и забуду. Но я ошибался. Самой убойной фишкой оказалось «глубокое исследование» — нейросеть за десятки минут гуглит информацию, относящуюся к запросу, а в конце составляет отчёт.&lt;/p&gt;
&lt;p&gt;Я для теста задал найти мне информацию о «&lt;a href="https://bolknote.ru/all/shturval-bauera/"&gt;штурвале Бауэра&lt;/a&gt;», через полчаса у меня был отчёт, занявший несколько экранов. Я бы взял из него лишь малую часть, но удобно, что такое можно кому-то делегировать!&lt;/p&gt;
&lt;p&gt;Сам я когда-то потратил выходной день целиком. Конечно мне было намного сложнее — ни на русском, ни на английском нужной информации не было, а нейросеть знает все основные языки, ей всё равно что читать. Для таких исследований, а я ими в некоторые периоды много занимаюсь, этот инструмент очень хочется иметь под рукой.&lt;/p&gt;
&lt;p&gt;Да и с более прозаичными вещами эта фишка справляется отлично — например, я заказал ей найти мне переключатель дешевле 15 тысяч, чтобы подключать два разных компьютера к одной клавиатуре и мыши и двум мониторам. Он нашёл мне две модели, одна из них продаётся на «Озоне». То, что нужно!&lt;/p&gt;
&lt;p&gt;В общем, чувствую, это будет лучшее моё вложение двадцати долларов за последнее время!&lt;/p&gt;
</description>
</item>

<item>
<title>«Тайна Карпатского замка», 1981</title>
<guid isPermaLink="false">135789</guid>
<link>https://bolknote.ru/all/tayna-karpatskogo-zamka-1981/</link>
<pubDate>Sat, 10 May 2025 17:19:10 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/tayna-karpatskogo-zamka-1981/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;У меня время от времени бывают навязчивые идеи. Не мучительно-навязчивые, тем не менее, жить они мешают — иногда зудят, хочется что-нибудь с ними сделать.&lt;/p&gt;
&lt;p&gt;Таких идей у меня — целый список, самых разнообразных. Сложнее всего с идеями разыскать какую-нибудь книгу или фильм, которые я в последний раз видел ещё в детстве и помню о них очень мало. К счастью, современные большие языковые модели умеют сами искать в интернете, обобщая найденное и формируя поисковые запросы самостоятельно.&lt;/p&gt;
&lt;p&gt;Например, два месяца назад они &lt;a href="https://bolknote.ru/all/ohota-na-robotov-1984/"&gt;помогли мне разыскать&lt;/a&gt; фильм «Охота на роботов» 1984 года по тем деталям, которые я вспомнил. Я подумал, что разыщу и всё остальное, но потом дело встало. Как я ни пытался, искусственный интеллект ничем мне помочь не смог.&lt;/p&gt;
&lt;p&gt;На днях я купил платный доступ к ЧатуГПТ, а сегодня подумал — не поможет ли мне доступ к новейшим моделям разыскать ещё что-нибудь? Напрягся, попробовал вспомнить максимум ещё об одном фильме, который я когда-то видел и мучительно пытался разыскать.&lt;/p&gt;
&lt;p&gt;На этот раз сработало! Модель &lt;i&gt;ChatGPT o3&lt;/i&gt; нашла фильм по описанию — им оказалась «&lt;a href="https://ru.wikipedia.org/wiki/Тайна_Карпатского_замка"&gt;Тайна Карпатского замка&lt;/a&gt;» 1981 года, причём я наврал в деталях — мне казалось, что это черно-белый старый фильм, годов, вероятно 1920-х. Наверное я видел его в чёрно-белом виде — он шёл в моём детстве, а тогда чёрно-белых телевизоров было очень много.&lt;/p&gt;
&lt;p&gt;Одна из сцен, которая мне запомнилась, видна на скриншоте — девушка, которую искал главный герой, оказалась механической куклой. Ну, это я так помнил эту сцену. В реальности девушка была забальзамирована после смерти, а в этой сцене её мумия разрушилась от контакта с воздухом.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.05.10@2x.webp" width="750" height="574" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Кадр из чехословатского фильма «Тайна Карпатского замка», 1981&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Портреты предков</title>
<guid isPermaLink="false">135779</guid>
<link>https://bolknote.ru/all/portrety-predkov/</link>
<pubDate>Fri, 09 May 2025 12:26:41 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/portrety-predkov/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Я тут необычный эксперимент проделал — загрузил фотографии жены и дочки в «ЧатГПТ» и написал такой промпт:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Я тебе загрузил фотографии мамы и дочки. Сделай тщательно описание их портретов, как это делают в полиции. Вычти черты лица мамы из черт лица дочки и нарисуй портрет вероятного отца девочки в возрасте 47 лет.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Намеренно не стал дописывать, что я на самом деле давно облысел и что на лице у меня усы и эспаньолка. Тем не менее, получилось очень похоже на меня и даже на моего папу. Можно определённо утверждать, что это какой-то наш родственник.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.05.09.1@2x.webp" width="512" height="512" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Окрылённый успехом, я сделал то, ради чего, собственно, и затеял этот эксперимент — взял фотографии бабушки со стороны мамы и её сестёр, фотографию их мамы и похожим промптом попробовал нарисовать портрет моего прадеда с их стороны.&lt;/p&gt;
&lt;p&gt;Он жил в небольшой деревне Старое Исаково и пропал на войне. Ни одной его фотографии нет — вероятно в те годы фотоаппараты не были распространены. А из-за того, что бумаги военкомата сгорели в 50-е, не получилось проследить его судьбу.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.05.09@2x.webp" width="512" height="512" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Предполагаемая внешность Степана Павловича Стрелкова (1902—1941) — моего прадеда со стороны мамы&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Не знаю уж насколько похоже вышло, сравнить не с чем, но определённо кое-какие родовые черты просматриваются — например, нависающее веко. Кстати, непонятно почему нейросеть в этом случае решила сделать портрет в виде карандашного наброска, вероятно потому что почти все фотографии были чёрно-белыми.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2025.05.09.2@2x.webp" width="512" height="512" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Предполагаемая внешность Феодора Николаевича Старостина (1904—1942) — моего прадеда со стороны папы&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Попробовал то же самое со стороны папы — нарисовать Феодора Николаевича Старостина. Одно время я &lt;a href="https://bolknote.ru/all/4344/"&gt;надеялся&lt;/a&gt; разыскать его могилу. Он так же пропал на войне и его военные бумаги хранились в том же сгоревшем военкомате и ни одной фотографии тоже нет — в Старой Письмянке, где он жил, видимо, тоже негде было сфотографироваться.&lt;/p&gt;
&lt;p&gt;Тут к фотографиям я добавил несколько словесных деталей: что вероятный цвет глаз — карий, что он работал агротехником в колхозе, что надо добавить небольшую седину и что он, вероятнее всего, был скорее поджарым, чем страдал от излишнего веса.&lt;/p&gt;
</description>
</item>

<item>
<title>«Курсор»</title>
<guid isPermaLink="false">135778</guid>
<link>https://bolknote.ru/all/ide-cursor/</link>
<pubDate>Fri, 09 May 2025 11:35:04 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/ide-cursor/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Что-то я опять по кривой Гартнера свалился на дно разочарования в «Курсоре» — это редактор, где можно программировать с помощью нейросетей. Из семи последних задач «Курсор» запорол все семь, да ещё как эпично! Задачи, на мой взгляд, я описывал понятно — так, как описал бы живому программисту.&lt;/p&gt;
&lt;p&gt;Чтобы отойти от разочарования, решил как-то реабилитировать технологию в своих глазах, тем более, что некоторые мои задачи нейросети всё-таки выполняют. Взял &lt;a href="https://github.com/gavinhoward/bc/blob/master/gen/lib2.bc"&gt;библиотеку функций&lt;/a&gt; из продвинутой реализации &lt;tt&gt;bc&lt;/tt&gt;, чтобы попробовать портировать её на версию &lt;i&gt;GNU&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Попросил три понятных изменения сделать, любой дурак справится:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a@b заменить на вызов функции &lt;tt&gt;floor(a, b)&lt;/tt&gt;, которую я написал;&lt;/li&gt;
&lt;li&gt;a$ заменить на вызов &lt;tt&gt;floor(a, 0)&lt;/tt&gt;;&lt;/li&gt;
&lt;li&gt;там, где оператор &lt;tt&gt;else&lt;/tt&gt; перенесен на другую строку от конструкции &lt;tt&gt;if&lt;/tt&gt;, надо либо заэкранировать перенос через обратный слеш, либо вернуть &lt;tt&gt;else&lt;/tt&gt; на одну строку с &lt;tt&gt;if&lt;/tt&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Задача простая, но даже тут «Курсор» накосячил, не справившись с подсчётом скобок. В итоге, тщательно проверял все замены и считал скобки я сам. К чёрту такую автоматизацию, по сумме, я бы сам быстрее сделал.&lt;/p&gt;
&lt;p&gt;Раньше я бы к этому спокойно отнёсся, но в последнее время раздражительность повысилась — мёрзну и всё время на грани простуды. Отопление давно отключили, а на улице резко похолодало — снег уже несколько раз шёл. Но, видимо, недостаточно холодно, чтобы включать отопление обратно.&lt;/p&gt;
&lt;p&gt;Вокруг очень многие болеют пневмонией, это ещё что такое, откуда? Я уверен, что слово «пневмония» я слышал за прошедшие два года больше, чем за всю прошлую жизнь. Сам я всё время кашляю, хотя не чувствуется, что болею, временами только какая-то слабость накатывает.&lt;/p&gt;
</description>
</item>


</channel>
</rss>