Как стать автором
Обновить
13
0

Пользователь

Отправить сообщение

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ

Время на прочтение10 мин
Количество просмотров172K
Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10 лет только в области обработки естественного языка (Natural language processing, NLP) произошли уже две настоящие технологические революции. Появившаяся в результате второй из них модель GPT-3 произвела настоящий фурор не только в технологических медиа, но стала знаменитой далеко за пределами научного сообщества. Например, GPT-3 написала для издания «The Guardian» эссе о том, почему ИИ не угрожает людям. GPT-3 сочиняет стихи и прозу, выполняет переводы, ведёт диалоги, даёт ответы на вопросы, хотя никогда специально не училась выполнять эти задачи. До недавних пор все возможности GPT-3 могли по достоинству оценить лишь англоязычные пользователи. Мы в Сбере решили исправить эту досадную оплошность. И сейчас расскажем вам, что из этого получилось.


Источник изображения
Читать дальше →
Всего голосов 165: ↑160 и ↓5+155
Комментарии241

Что такое LLVM и зачем он нужен?

Время на прочтение9 мин
Количество просмотров80K

Всем привет! Думаю, у многих сразу возник другой вопрос — а зачем вообще нужна ещё одна статья про LLVM, ведь на хабре их и так больше сотни? Моей задачей было написать "введение в тему" for the rest of us — профессиональных разработчиков, не планирующих создавать компиляторы и совершенно не интересующихся особенностями устройства LLVM IR. Насколько я знаю, подобного ещё не было.


Главное, что интересует практически всех — и о чём я планирую рассказать — вынесено в заголовок статьи. Зачем нужен LLVM, когда есть GCC и Visual C++? А если вы не программируете на C++, вам стоит беспокоиться? И вообще, LLVM это Clang? Или нет? И что эти четыре буквы на самом деле означают?

Читать дальше →
Всего голосов 129: ↑124 и ↓5+119
Комментарии136

У меня нулевая текучка

Время на прочтение9 мин
Количество просмотров179K
Однажды на заводе, где я работал ИТ-директором, готовили отчетность к какому-то очередному мероприятию. Надо было рассчитать и предоставить показатели по выданному перечню, среди них затесалась текучесть кадров. И тут оказалось, что у меня она равна нулю.

Из руководителей я был такой один, тем самым привлек к себе внимание. Ну и сам удивился – оказывается, когда от тебя не уходят сотрудники, это странно и необычно.

В сумме я работал руководителем лет 7-10 (точно не знаю, какие периоды сюда включать), но нулевая текучка сохранилась. Никто никогда от меня не уходил, никого никогда я не выгонял. Только набирал.

Нулевая текучка, как показатель, никогда не была моей самоцелью. Но я стараюсь делать так, чтобы вложенные в людей усилия не пропадали даром. Сейчас расскажу примерно, как я руковожу так, что люди не уходят – вдруг что полезное для себя найдете. На полноту раскрытия темы не претендую, т.к. основываюсь только на личном опыте. Вполне возможно, что я всё делаю неправильно.
Читать дальше →
Всего голосов 317: ↑283 и ↓34+249
Комментарии534

Профилирование кода с LLVM

Время на прочтение7 мин
Количество просмотров7K

Проклятие недетерминизма



Моя первая попытка написать проход LLVM — люблю эти сегфолты

Недавно я столкнулся с интересной задачей — мне понадобился детерминированный и кросплатформенный способ определения времени выполнения кода С++. Под словом «детерминированный» я подразумеваю, что один и тот же код будет выполняться за одно и то же количество единиц времени. Под кроссплатформенностью я понимаю, что один и тот же код под Windows и под Ubuntu будет выполняться за одно и то же количество единиц времени.

Естественно, измерение времени на CPU не удовлетворяет этим условиям. Машинный код меняется в зависимости от архитектуры и операционной системы, и один и тот же код займёт различное количество времени при выполнении. Даже на одной и той же машине, такие факторы, как промахи кэша, будут играть большую роль — достаточную для того, чтобы исказить результаты измерения времени выполнения одного и того же кода. Мне нужно было что-либо более умное…
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии20

Создание языка программирования с использованием LLVM. Часть 1: Введение и лексический анализ

Время на прочтение7 мин
Количество просмотров58K
Добро пожаловать в учебник «Создание языка программирования с LLVM». Этот учебник знакомит вас с созданием простейшего языка программирования, и при этом показывает, каким оно может быть легким и интересным, а также даёт вам начальные знания, которые вы затем сможете применить на других языках программирования. Код в этом учебнике также может быть использован в качестве стартовой площадки для ваших творений с помощью LLVM.

Целью данного учебника является постепенное представление нашего языка, описание его пошагового создания. Это позволит нам охватить достаточно широкий спектр вопросов проектирования языков и использования LLVM, попутно показывая и объясняя код без огромного количества ненужных деталей.
Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии28

Обзор LLVM

Время на прочтение13 мин
Количество просмотров85K
LLVM (Low Level Virtual Machine) — это универсальная система анализа, трансформации и оптимизации программ или, как её называют разработчики, «compiler infrastucture».

LLVM — не просто очередной академический проект. Его история началась в 2000 году в Университете Иллинойса, а теперь LLVM используют такие гиганты индустрии как Apple и Adobe. В частности, на LLVM основана подсистема OpenGL в MacOS X 10.5, а iPhone SDK использует GCC с бэкэндом на LLVM. Apple является одним из основных спонсоров проекта, а вдохновитель LLVM — Крис Латтнер — теперь работает в Apple.

В основе LLVM лежит промежуточное представление кода (intermediate representation, IR), над которым можно производить трансформации во время компиляции, компоновки (linking) и выполнения. Из этого представления генерируется оптимизированный машинный код для целого ряда платформ, как статически, так и динамически (JIT-компиляция). LLVM поддерживает генерацию кода для x86, x86-64, ARM, PowerPC, SPARC, MIPS, IA-64, Alpha.

LLVM написана на C++ и портирована на большинство *nix-систем и Windows. Система имеет модульную структуру и может расширяться дополнительными алгоритмами трансформации (compiler passes) и кодогенераторами для новых аппаратных платформ. Пользовательский фронтенд, как правило, линкуется с LLVM и использует C++ API для генерации кода и его преобразований. Однако LLVM включает в себя и standalone утилиты.

Для тех, кто не без оснований считает C++ не лучшим языком для написания компиляторов, с недавних пор в LLVM включена обертка API для OCaml.

Чтобы понять, что можно сделать с помощью LLVM, и на каком уровне придётся работать, давайте разберёмся,
что из себя представляет LLVM IR.
Всего голосов 52: ↑51 и ↓1+50
Комментарии25

Космики. 7 лет

Время на прочтение5 мин
Количество просмотров16K
Здравствуй, Хабр!

В 2012 году я написал пост о своем увлечении — Космики: моделирование эволюции многоклеточных организмов


С того момента прошло без малого 7 лет, в течение которых я работал над развитием этого проекта. Сегодня я хочу рассказать немного о том, что научился делать, и как планирую развивать проект дальше.
Читать дальше →
Всего голосов 107: ↑107 и ↓0+107
Комментарии25

Архитектура Android-приложений. Часть I — истоки

Время на прочтение8 мин
Количество просмотров109K
В этой статье мы рассмотрим архитектуру Android-приложений.

Откровенно говоря, официальную статью Google по этой теме я считаю не очень полезной. Детально отвечая на вопрос «как», она совсем не объясняет «что» и «почему». Итак, вот моя версия, и, я надеюсь, она внесёт некоторую ясность. Да, кстати, я полностью одобряю чтение статей Google, поскольку они содержат полезную информацию, повторять которую я не собираюсь.
Читать дальше →
Всего голосов 86: ↑80 и ↓6+74
Комментарии52

Что такое сознание

Время на прочтение25 мин
Количество просмотров111K


Одним из самых главных научных вопросов Человечества, считается вопрос: «Что такое сознание?». Как Человек думает, принимает решения, как происходит мышление, анализ и интерпретация различных внешних раздражителей и т.д. Ответы на эти вопросы, а также что такое сознание, главный вопрос жизни, вселенной и всего такого под катом.
Всего голосов 26: ↑22 и ↓4+18
Комментарии165

Жизнь на частицах

Время на прочтение4 мин
Количество просмотров64K
Всем привет! Сегодня я расскажу о своих экспериментах с системами частиц. Основной целью было нахождение простых правил, которые бы порождали интересное поведение.

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

Под катом много мегабайт гифок.

Читать дальше →
Всего голосов 269: ↑267 и ↓2+265
Комментарии67

Генерация произвольных реалистичных лиц с помощью ИИ

Время на прочтение10 мин
Количество просмотров52K
Контролируемый синтез и редактирование изображений с использованием новой модели TL-GAN


Пример контролируемого синтеза в моей модели TL-GAN (transparent latent-space GAN, генеративно-состязательная сеть с прозрачным скрытым пространством)

Весь код и онлайн-демо доступны на странице проекта.
Читать дальше →
Всего голосов 61: ↑61 и ↓0+61
Комментарии12

C выходом Chrome 70 тысячи сайтов, защищенных сертификатами Symantec, станут недоверенными

Время на прочтение2 мин
Количество просмотров14K
image

Недавно Google объявил о прекращении доверия всем SSL-сертификатам, выданным до 1 декабря 2017 г. удостоверяющими центрами Symantec, Thawte, GeoTrust и RapidSSL. Изменения вступят в силу 16 октября этого года с выходом нового юбилейного браузера Google Chrome 70.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии36

Договоры бывают разные, или на что вы подписались

Время на прочтение5 мин
Количество просмотров20K
Периодически отслеживаю на тостере вопросы по юриспруденции. И не раз сталкивался с тем, что у людей возникают проблемы из-за непонимания разницы между подрядом и услугами. Казалось бы, какая разница в этих ваших правовых дефинициях? Есть же контракт! А вот и нет, подходы отличаются весьма существенно. В некоторых случаях настолько кардинально, что лучше заранее понимать, на что подписываешься.

image

Что это вообще, блин, такое?


Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии76

Наиболее востребованные языки программирования – 2018

Время на прочтение3 мин
Количество просмотров199K
Очередная статистика от hh.ru под катом. Вкратце — очень хотелось посчитать, на каких языках чаще всего пишут отечественные разработчики и какие языки чаще других ищут работодатели. Итого — посчитал, что указывали в вакансиях и в резюме в первом полугодии 2018 и 2017 годов. Получилось что получилось.


Читать дальше →
Всего голосов 74: ↑68 и ↓6+62
Комментарии93

Создание «искусственной жизни» на компьютере

Время на прочтение10 мин
Количество просмотров109K
Всем привет. В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.

Как это выглядит?

картинка кликабельна

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

Ну а дальше за работу принимается эволюция и естественный отбор.

А мне остаётся только наблюдать за развитием мира.

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

Поведением ботов управляет код, записанный в них.

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

Внутреннее устройство кода — это самое интересное в проекте.

Код должен быть простым и выдерживать различные модификации (случайное изменение любого элемента в коде) над собой без синтаксических ошибок.
Читать дальше →
Всего голосов 214: ↑210 и ↓4+206
Комментарии393

Курс о Deep Learning на пальцах

Время на прочтение2 мин
Количество просмотров173K
Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по Deep Learning и вот, на удивление, прочитал. Обещал — выкладываю!

Курс не претендует на полноту, скорее это способ поиграться руками с основными областями, где deep learning устоялся как практический инструмент, и получить достаточную базу, чтобы свободно читать и понимать современные статьи.

Материалы курса были опробованы на студентах кафедры АФТИ Новосибирского Государственного Университета, поэтому есть шанс, что по ним действительно можно чему-то научиться.


Читать дальше →
Всего голосов 117: ↑117 и ↓0+117
Комментарии31

Секвенирование ДНК в домашних условиях: как на коленке собрать прибор за 10 миллионов

Время на прочтение9 мин
Количество просмотров151K
Всем привет, меня зовут Александр Соколов, и я хочу рассказать, как сделал дома секвенатор – прибор для расшифровки ДНК. Рыночная цена такого прибора составляет около 10 миллионов рублей.

image
Читать дальше →
Всего голосов 265: ↑263 и ↓2+261
Комментарии190

Эволюция спасает животных от катастроф типа «убей победителя»

Время на прочтение5 мин
Количество просмотров20K

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



Экологи давно размышляют над тем, как у разных видов планктона, соревнующихся за одни и те же ресурсы в морских экосистемах, может наблюдаться такое разнообразие

На встрече Американского сообщества натуралистов в 1960 году известный британский эколог Дж. Эвелин Хатчинсон описал "парадокс планктона". Если рассмотреть колбу морской воды, то она окажется заполненной различными представителями планктона, соревнующимися за одни и те же жизненно важные элементы и питательные вещества. При этом естественный отбор утверждает, что со временем одну экологическую нишу должен занять один вид – эта концепция известна под названием "принцип конкурентного исключения". То, что верно для планктона, верно и для многих простейших, растений, птиц, рыб и других организмов. Как же в экосистемах может находиться так много конкурирующих видов в стабильном сосуществовании?
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии11

История одного искусственного виртуального мира

Время на прочтение4 мин
Количество просмотров5.2K

Предисловие


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

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



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

Читать дальше
Всего голосов 164: ↑149 и ↓15+134
Комментарии131

Покажем себя Вселенной: маяки, которые останутся после нашей цивилизации

Время на прочтение42 мин
Количество просмотров17K
Из блога Стивена Вольфрама — британского физика, математика, программиста, писателя. Разработал систему компьютерной алгебры Mathematica и систему извлечения знаний WolframAlpha.

Суть задачи


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

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

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

Хорошо, так в чём проблема? По сути, она состоит в передаче знаний или смысла изнутри нашего культурного и интеллектуального контекста наружу. Чтобы понять, что это трудно, достаточно вспомнить об археологии. Для чего несколько тысяч лет назад какие-то камни были выстроены в определённой конфигурации? Иногда мы можем ответить на такой вопрос, поскольку он оказывается близким к нашей современной культуре. Но большую часть времени сказать это очень сложно.
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии42
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Backend Developer, System Software Engineer