Pull to refresh
70
0
Alexander Komarov @izard

software optimization

Send message

Кто реально угрожает C++ (нет, Rust, не ты)

Reading time14 min
Views56K

Привет! Меня зовут Александр Каленюк, и я крепко подсел на C++. Пишу на C++ 18 лет кряду, и все эти годы отчаянно пытаюсь избавиться от этой разрушительной зависимости.

Всё началось в конце 2005 года, когда мне довелось писать движок для симуляции 3D-пространства. В этом движке было буквально всё, чем язык C++ мог похвастаться в 2005 году. Трёхзвёздочные указатели, восьмиуровневые зависимости, C-подобные макросы повсюду. Кое-где – вкрапления ассемблера. Итераторы в стиле Степанова и мета-код в стиле Александреску. В общем, всё. Кроме ответа на самый важный вопрос: зачем?

Читать далее
Total votes 186: ↑195 and ↓-9+204
Comments307

Советские и постсоветские НИИ и КБ как конвейер уничтожения ресурсов развития

Level of difficultyEasy
Reading time11 min
Views79K

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

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

В 2008 году я устроился ведущим инженером в НИИ Физических измерений, г. Пенза.

Для меня работа в этом НИИ была более чем знакома, я там работал с середины 80-х по середину 90-х. НИИФИ с момента своего создания было сосредоточено на создании датчиков и специализированной измерительной аппаратуры для космической отрасли.

Начало 2000-х характеризовалось тем, что цены на нефть поползли вверх, в государстве появились какие-то деньги, но одновременно стала происходить череда ярких и красочных неудач с нашими ракетами. И вопрос – а что же там происходит с нашими ракетами – создал на НИИФИ фокус ощутимого финансового потока.

Поскольку в этой организации работает куча людей, связанных между собой родственными связями, то, помимо официального молчания по всем щепетильным вопросам, организация была пронизана слухами, что у нас общий бюджет НИИ достиг сначала 0,7 (примерно 2008–2009), далее 0,9; потом 1,3; 2,1 и 2,7 (2012) миллиарда рублей.

Здесь можно задаться очень простым вопросом – а вот кто будет делать интеллектуальное наполнение проектов под эти в общем-то огромные финансовые потоки.

Читать далее
Total votes 306: ↑276.5 and ↓29.5+247
Comments512

С новым годом: GPT в 500 строках на SQL

Reading time42 min
Views37K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

Давайте же воодушевимся этим оптимистическим планом и реализуем большую языковую модель на языке SQL.

Читать далее
Total votes 215: ↑211 and ↓4+207
Comments21

Stable Diffusion. Курс молодого бойца

Level of difficultyMedium
Reading time22 min
Views56K

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

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

Так же в конце будет изложен mindset, который необходимо иметь чтобы научиться пользоваться SD. Я буквально попытаюсь научить вас думать как AI художник.

Поэтому без лишних слов, начинаем.

Поехали!
Total votes 74: ↑72 and ↓2+70
Comments23

Cache pollution? Запасайтесь тестами

Reading time16 min
Views9K

Всем ведь приходилось заниматься улучшением производительности? Для игр особенно актуально, ну может какая-то три-в-ряд не страдает этим. Как обычно серебряной пули нет, начинаем со структур данных, алгоритмов, спускаемся ниже если не помогает, придумываем SoA, AoS шаблоны. Если проблема не решается, подтягиваем профайлеры и предметно разбираем узкие места, но все чтобы мы не делали зачастую таким узким местом всегда будет "железо". Можно сколько угодно оптимизировать другие места, но CPU c его гигагерцами будет простаивать 90% времени если его неправильно "кормить" данными. Одной (только одной из проблем) проблемой организации эффективной работы с данными будет меньше, если знать и уметь работать с кэшами разных уровней. Тут на вики описано, как "на пальцах" быстренько убить перф на обходе массива, простого и общего решения для такого обхода нет. Можно и дальше увеличивать размер кэша, что собственно и делают (гдето здесь на хабре была новость, что Интел при переходе на L1 кэш размером 32кб, заново спроектировал блок доступа к нему, сорян не нашел ссылку), но это дорого, неэффективно на масштабах современных процов, и всегда найдутся данные, которые этот кэш отравят, опять. Интересно как починить? го под кат...

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

5 задач в области ИИ, способных бросить вызов вашему разуму и вдохнуть новые силы в капитализм

Reading time8 min
Views6.9K

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

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments16

Измерение скорости чтения-записи носителей с помощью утилиты dd

Level of difficultyMedium
Reading time11 min
Views13K
Недавно, я вновь побывал в роли технического эксперта, когда занимался переводом книги «Understanding Software Dynamics» от Richard L. Sites. В ходе работы над главой — про скорость работы с жёстким диском, мне поступил вопрос от коллеги: каким образом можно просто и быстро измерить скорость чтения и записи твердотельных носителей информации, в разрабатываемых в компании устройствах? При этом стояла задача реализовать всё это наиболее простыми способами, чтобы они были переносимы между совершенно разными платформами и архитектурами. Носители же информации могут быть любыми: USB Flash, eMMC, SD, NAND и прочее, прочее. Единственное, что их объединяет — это Linux.

Задача захватила меня с головой…
Читать дальше →
Total votes 61: ↑59 and ↓2+57
Comments47

Трудная проблема сознания

Level of difficultyHard
Reading time10 min
Views4.4K

Трудная проблема сознания

Любительское эссе на серьезную тему с ноткой иронии над эгоцентризмом современной академической среды.

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

Читать далее без помощи И.И.
Total votes 8: ↑4 and ↓40
Comments48

Яндекс выложил YaLM 100B — сейчас это крупнейшая GPT-подобная нейросеть в свободном доступе. Вот как удалось её обучить

Reading time10 min
Views117K

Больше примеров — в конце поста

В последние годы большие языковые модели на архитектуре трансформеров стали вершиной развития нейросетей в задачах NLP. С каждым месяцем они становятся всё больше и сложнее. Чтобы обучить подобные модели, уже сейчас требуются миллионы долларов, лучшие специалисты и годы разработки. В результате доступ к современным технологиям остался лишь у крупнейших IT-компаний. При этом у исследователей и разработчиков со всего мира есть потребность в доступе к таким решениям. Без новых исследований развитие технологий неизбежно снизит темпы. Единственный способ избежать этого — делиться с сообществом своими наработками.

Год назад мы впервые рассказали Хабру о семействе языковых моделей YaLM и их применении в Алисе и Поиске. Сегодня мы выложили в свободный доступ нашу самую большую модель YaLM на 100 млрд параметров. Она обучалась 65 дней на 1,7 ТБ текстов из интернета, книг и множества других источников с помощью 800 видеокарт A100. Модель и дополнительные материалы опубликованы на Гитхабе под лицензией Apache 2.0, которая допускает применение как в исследовательских, так и в коммерческих проектах. Сейчас это самая большая в мире GPT-подобная нейросеть в свободном доступе как для английского, так и для русского языков.

В этой статье мы поделимся не только моделью, но и нашим опытом её обучения. Может показаться, что если у вас уже есть суперкомпьютер, то с обучением больших моделей никаких проблем не возникнет. К сожалению, это заблуждение. Под катом мы расскажем о том, как смогли обучить языковую модель такого размера. Вы узнаете, как удалось добиться стабильности обучения и при этом ускорить его в два раза. Кстати, многое из того, что будет описано ниже, может быть полезно при обучении нейросетей любого размера.
Читать дальше →
Total votes 166: ↑165 and ↓1+164
Comments139

Апрельские одноплатники: 5 новых моделей для разработки корпоративных и DIY-проектов

Reading time4 min
Views23K


Как и в случае мини-ПК, производители одноплатных компьютеров постоянно выпускают новые модели, среди которых встречаются весьма любопытные. В этом посте поговорим о пяти системах, которые можно использовать в самых разных целях, от крупных корпоративных проектов, до DIY- систем, создаваемых с мотивом «потому, что могу». Кстати, среди девайсов, попавших в подборку, есть и платы с RISC-V чипами. В общем, много всего интересного. Подробнее, как всегда — под катом.
Читать дальше →
Total votes 80: ↑76 and ↓4+72
Comments8

11 полезных AI сервисов + Plasma AI Telegram бот с 160 ролевыми моделями, эксклюзивом от chatGPT 4 и MidJourney 5

Level of difficultyEasy
Reading time10 min
Views46K

После моей предыдущей статьи про 30+ задач, которые может выполнять chatGPT, мы решили запустить своего чат бота в Телеграм, которые за 3 месяца вырос до более 1 миллиона активных пользователей. Сегодня мы запустили большое обновление и функционал "Ролевых" моделей chatGPT 4, который превращает чат бота в продвинутого AI ассистента. Я хочу поделиться с вами новыми фичами и полезными возможностями бота, которые помогут каждому оценить потенциал AI технологий.

Читать далее
Total votes 15: ↑10 and ↓5+5
Comments16

Windows по сравнению с MacOS

Level of difficultyEasy
Reading time50 min
Views47K

У меня родилась статья в продолжение серии хороших статей:

Перейти с Linux на macOS и не сойти с ума

7 причин почему вам не стоит переходить на Mac, или как справиться с этой демонической машиной

Я, старый дурак пользователь Windows (26 лет стажа, ну да, с 1997 г.) решил купить макбук. Вот этот, предпоследний, стильный-модный-молодежный на процессоре M1 Pro. Нафига, а главное зачем - вопрос риторический и не предполагающий ответа (захотелось). Как его можно настроить, чтобы заскорузлому виндузятнику стало возможно использовать этот чудо-компьютер с яблоком без очень сильной боли в одном месте, я попытаюсь написать в этой заметке. Хотел бы я, чтобы полгода назад мне на глаза попалась такая!

Продолжение из двух частей с эпилогом
Total votes 99: ↑70 and ↓29+41
Comments317

Стохастический язык программирования на основе алгоритмов Маркова

Reading time13 min
Views26K

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Total votes 139: ↑139 and ↓0+139
Comments24

Midjourney, BlueWillow, PLAYGROUND AI, Stable Diffusion, Leonardo AI — как пользоваться

Level of difficultyMedium
Reading time3 min
Views13K

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

prompt для этих ИИ будут фактически одинаковым, как и для других похожих сервисов.

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments17

О «раздутом пузыре» нейросетей

Level of difficultyMedium
Reading time8 min
Views99K

На днях я наткнулся на одно любопытное видео.

Моей первой реакцией было Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? отрицание и усталость, потому что всё это я уже слышу на протяжении лет пяти с разной интенсивностью в зависимости от текущих объектов хайпа. В этом посте я попытаюсь разобраться, что из сказанного в видео является правдой.

Утверждения:

1. Закон Мура больше не выполняется из-за фундаментальных физических ограничений ⇒ масштабирование нейросетевых моделей по вычислительному бюджету невозможно.

2. Нейросетевые модели внедряются слишком медленно.

3. Ответы нейросетевых моделей неконтролируемы и неинтерпретируемы.

Дальше обсудим каждое из них.

Читать далее
Total votes 140: ↑136 and ↓4+132
Comments171

Три уровня биохакинга. Как можно снова стать 18-летним за $2 млн в год

Reading time11 min
Views83K

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

Понятно, что таким часто страдают спортсмены, для которых здоровье — это всё. Например, теннисист Новак Джокович, 35 лет, любит сидеть в камере под высоким давлением, чтобы обогатить свою кровь кислородом. Американский футболист Том Брэди в 45 лет принимает «антивозрастные» добавки, наносит на кожу увлажняющие порошки и катает по телу специальные вибрирующие шарики для улучшения гибкости мышц. А Криштиану Роналду выглядит моложе своих 38 лет за счет строгой диеты из яиц, батата и брокколи и регулярных «ванн» в своем личном кислородном резервуаре (гипербарическая оксигенотерапия).

Но среди наших братьев айтишников биохакинг в последние годы стал даже популярнее, чем среди спортсменов. Мол, научились взламывать игры и сайты, сможем взломать и свое тело! Чтобы начитить себе 140 лет жизни и чтоб никогда не болела спина!

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

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

Осторожно, в посте много фото!

Читать далее
Total votes 74: ↑58 and ↓16+42
Comments257

Прогнозирование продаж Python. Как находить и сглаживать выбросы с помощью фильтра Хэмплея

Reading time4 min
Views11K

Те, кто работает с временными рядами, часто сталкивается с двумя проблемами. Первая – нет полных данных. Вторая – битые данные, когда встречается много выбросов, шума и пропусков. Редко встречаются случаи, когда всё было бы идеально. И данных много, и можно легко найти нужные. Такое встретишь крайне редко или почти никогда.

Возникает вопрос - как решить эту проблему? Я нашёл решение. Давайте расскажу вам, как я решаю проблему битых данных, выбросов, пропусков. Какие я использовал методы, в чем их отличия, преимущества и какие я считаю самыми лучшими.

Начнём мы с первого метода – фильтра Хэмплея. В этой статье речь пойдёт именно о нём. Я постараюсь как можно проще рассказать о его особенностях и показать всё на наглядных примерах. Приступим.

Читать далее
Total votes 19: ↑16 and ↓3+13
Comments14

Как всё успевать: 10 проверенных принципов борьбы с хаосом задач

Reading time9 min
Views32K

Задачи окружают нас повсюду — и дома, и на работе, и во всяческих аспектах нашей повседневной жизни. У каждого со временем появляются собственные приёмы и методики работы со списками задач. Кто-то предпочитает модные приложения и продвинутые программы, кто-то по старинке всё записывает в бумажный ежедневник. А некоторые вообще не занимаются специальным планированием, но при этом чудесным образом всё успевают.

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

Читать далее
Total votes 51: ↑48 and ↓3+45
Comments26

Бюджет потерь USB 3.2

Reading time17 min
Views29K

Откуда столько названий стандартов USB? Какие допустимые потери сигнала в кабеле по спецификации, и почему почти никто ей не следует? Как измерить потери в дифференциальной линии и не продать почку?

Статья будет наиболее полезна для hardware-инженеров, разрабатывающих системы с высокоскоростными интерфейсами, но рассчитана на базовый уровень знаний в электронике. Узнаем о истории стандарта, понятии потерь, способах оценки и измерений.

Страх и ненависть в спецификации USB
Total votes 156: ↑155 and ↓1+154
Comments60

Доктор, что это за **** у меня на коже?

Reading time13 min
Views35K
Скажу сразу: я не врач.

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

Мы, земляне, завёрнуты в кожу, поэтому именно она зачастую становится тем самым первым индикатором состояния внутренних органов. Иногда — когда сами органы об этом ещё «ни слухом ни духом». В нашей практике это выглядит так: пришёл вот человек к косметологу подобрать крем, его ещё пять минут назад ничего не беспокоило, а тут врач как схватит его за руку — и вот уже запись к эндокринологу или онкологу.

Понятно, в школе этому не учат. Понятно, что если пациент дошёл до косметолога вместо дерматовенеролога в районном КВД — это не со зла, а потому что он не понимает ситуацию. Но у нас сейчас будет ликбез про то, как читать индикацию на коже. Я покажу несколько очень отвратительных картинок и несколько не очень. Но отвратительных будет больше, поэтому аккуратно.


Элвис болел диабетом, так что ему были знакомы кое-какие из кожных проявлений, о которых сегодня пойдёт речь

Дело всё в том, что любые высыпания могут оказаться как реакцией иммунитета на новый фрукт, так и кожным маркером, который сигнализирует о том, что серьёзное внутреннее заболевание уже появилось или вот-вот дебютирует. И нам приходится снова и снова объяснять, что мазь не спасёт от основной причины заболевания.
Читать дальше →
Total votes 98: ↑79 and ↓19+60
Comments37
1
23 ...

Information

Rating
Does not participate
Location
Portland, Oregon, США
Date of birth
Registered
Activity