Pull to refresh
30
0.1
Авдосев Никита @avdosev

ML-разработчик

Send message

Как быстро вычисляются логарифм и экспонента в компьютере?

Reading time7 min
Views5.8K

Сегодняшняя статья посвящена методам быстрого приближенного вычисления двоичного логарифма и экспоненты/степеней двойки. Не все задумывались, как именно реализовано вычисление нелинейных математических функций в компьютере, который вообще-то умеет складывать и умножать, но не вычислять синусы или гиперболические тангенсы. Из школьных институтских времен вспоминаются ряды Тейлора, приближающие функцию полиномом в окрестности заданной точки, или интерполяционные полиномы Лагранжа,  но как добиться действительно высокой точности приближения? А можно ли эти имплементации ускорить? Постараемся сегодня приоткрыть завесу тайны.

Читать далее
Total votes 12: ↑11 and ↓1+17
Comments4

Максим Ильяхов жёстко раскритиковал текст вакансии, но мы нашли хорошего менеджера проектов

Level of difficultyEasy
Reading time11 min
Views3.4K

Найти организованного человека с проектным опытом в диджитале не за 150 тысяч непросто, а после критики Максима вдобавок начался небольшой PR-кошмар. Рассказываю, как было дело.

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

Реализация двустороннего A* на двух потоках

Level of difficultyHard
Reading time10 min
Views5.3K

На Хабре можно найти немало статей, посвящённых оптимизациям поиска кратчайшего пути на графе. Я расскажу ещё про еще один подход. Речь пойдёт о распараллеливании алгоритма A* и исполнении его на двух потоках, а также о сложностях, с которыми я столкнулся при реализации, и их преодолении.

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

Форматы векторной графики. Замена «толстому» SVG

Level of difficultyEasy
Reading time5 min
Views15K
Векторизация растровой графики, источник

Все знают стандарт векторной графики SVG (Scalable Vector Graphics). Великая вещь, которая незаменима в веб-дизайне. Но этот формат до сих пор полностью не поддерживается ни в одном браузере по одной простой причине: он невероятно сложный. Если посмотреть на спецификации, там более 200 подпунктов в 27 разделах (около 900 страниц на бумаге). Только оглавление занимает 19 экранов. Мягко говоря, это перебор.

К счастью, SVG — не единственный формат векторной графики. Есть более эффективные и минималистичные альтернативы.
Читать дальше →
Total votes 44: ↑41 and ↓3+57
Comments26

Дешёвые ARM смартбуки в 2023 — есть ли перспективы? Ремонтируем и находим им применение в наши дни

Reading time14 min
Views10K
image

Практически каждое поколение портативных устройств производители чипов на архитектуре ARM пытаются втиснуться в рынок полноценных десктопных компьютеров и получить себе место под солнцем в качестве рабочих станций, серверов, а то и простых мультимедийных ПК. Последний десяток лет им это удаётся особенно хорошо, и в первую очередь — благодаря выходу чипа Apple M1. Даже Qualcomm, в сотрудничестве с Microsoft, выпустили нетбуки на полноценной Windows 10 For ARM с эмулятором x86, который и игрушки неплохо тянет. Однако яблочные устройства стоят огромных денег: 100+ тысяч рублей может потратить далеко не каждый энтузиаст, который хотел бы себе портативный компьютер на ARM. А вот 500-2.500 рублей вполне! Предлагаю в этой статье глянуть на ARM-смартбуки прошлых лет и оценить их перспективы тогда и сейчас!
Читать дальше →
Total votes 31: ↑29 and ↓2+33
Comments23

Кондиционер в офисе. Как решать проблему людей типа «мне дует» когда остальные изнывают от жары без кондиционера?

Reading time12 min
Views12K

Охлаждение офиса

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

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

Температура такой струи составляет +19С в номинальном режиме, при этом температура в помещении +29С.

В среднем температура в помещении считается около +24С.

То есть у кого-то  жара +29С, а кому-то в шею или в ухо дует поток с температурой +19С.

Именно такой  сильный разброс климатических параметров внутри одного пространства вызывает  серьёзные конфликт между работниками в этом помещении.

Читать далее
Total votes 10: ↑9 and ↓1+10
Comments38

Алгоритм, сделавший ChatGPT таким «человечным» — Reinforcement Learning from Human Feedback

Reading time8 min
Views14K

ChatGPT генерирует разнообразный и привлекательный для человека текст. Но что делает текст «хорошим»? Это субъективно и зависит от контекста. Например, если вы попросите сочинить историю, нужен творческий подход. Если вы запрашиваете информацию, то хотите, чтобы она была правдивой. А если вы просите написать код, то ожидаете, что он будет исполняемым.

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

Именно данные с фидбеком от людей позволили дообучить их языковую модель и сделать продукт таким «человечным».

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

Читать далее
Total votes 13: ↑12 and ↓1+14
Comments9

Иллюзия упущенных возможностей. Вот если бы я тогда…

Reading time6 min
Views39K

Все мы временами жалеем о том, что не сделали чего-то в прошлом. Например, не уделили должного внимания изучению иностранного языка: «Эх, вот если бы я тогда не страдал всякой ерундой, а как следует взялся бы за английский, я бы сейчас...». Или не поучаствовали в чём-то, что сейчас принесло бы нам ощутимые дивиденды и бонусы: «Говорил ведь мне тогда Сеня: надо майнить биткойны». Или просто выбрали не ту дорогу: «Надо было поступать в университет А, зачем я сгоряча подал документы в институт Б!»

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

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

Читать далее
Total votes 39: ↑34 and ↓5+37
Comments97

Экспресс-анализ данных на Python

Level of difficultyEasy
Reading time5 min
Views7.5K

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

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

Семантический поиск: от простого сходства Жаккара к сложному SBERT

Reading time10 min
Views27K

В материале, переводом которого мы решили поделиться к старту курса о машинном и глубоком обучении, простым языком рассказывается о семантическом поиске, статья охватывает шесть его методов; начиная с простых сходства по Жаккару, алгоритма шинглов и расстояния Левенштейна, автор переходит к поиску с разреженными векторами — TF-IDF и BM25 и заканчивает современными представлениями плотных векторов и Sentence-BERT. Простые примеры сопровождаются кодом и иллюстрациями, а в конце вы найдёте ссылки на соответствующие блокноты Jupyter.

Читать далее
Total votes 13: ↑12 and ↓1+12
Comments1

Собственный Dynamic DNS

Reading time3 min
Views91K
Иногда необходимо прописать DNS для компьютера с динамическим IP адресом. Простым путем для этого являются сервисы по типу dyndns, описанные в недавнем топике Связываем домен и динамический IP. Иногда такой подход работает достаточно плохо.

Напрмер в моей ситуации, провайдер иногда меняет мой публичный IP адрес. Это иногда случается обычно раз в несколько месяцев. Кроме того, мой домашний компьютер перезагружается крайне редко. За это время сервис dyndns, которым я пользовался ранее успевал пару раз прислать мне оповещения о неактивности с целью отключить «неиспользуемый» аккаунт. Перейти на вручную прописываемую DNS зону также не получается, потому что иногда адрес все же меняется. Причем обычно об этом узнаешь когда нужен доступ к домашнему компьютеру здесь и сейчас.

Для реализации описываемого метода понадобится сервер в интернете с DNS сервером bind на нем. А так же доменная зона, субдомен которой мы будем выделять для нашего компьютера. Описывается вариант с подключением Linux-компьютера к Linux-серверу. Для использования других операционных систем понадобится почитать мануалы и модифицировать некоторые шаги.
Читать дальше →
Total votes 42: ↑35 and ↓7+28
Comments21

Латинская Америка. Единственное место в мире, где продолжают говорить на латинском языке

Reading time4 min
Views14K

Рим пал. Но культура его живет. Люди до сих пор любуются величественным Колизеем, читают истории про борьбу галлов, цитируют Цезаря. Но, к сожалению, в Старом Свете совсем перестали говорить на латинском языке и даже почему-то называют его языком мертвым. К счастью, значительная часть Нового Света сумела сохранить этот красивый язык, почему и носит название Латинская Америка. Год назад я отправился сюда, чтобы посмотреть, как живут прямые потомки римлян, как сегодня звучит их забытый Европой язык, каково там жить и работать.

Читать далее
Total votes 58: ↑38 and ↓20+33
Comments34

Пошаговый гайд: как мы ВКонтакте делаем собственный переводчик

Level of difficultyMedium
Reading time11 min
Views4K

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

Со стороны разработчиков сервисов тоже, казалось бы, современное машинное обучение уже близко к тому, чтобы достаточно было сделать import model_name from your_favourite_framework — и всё заработало. К сожалению, это не совсем так. Нельзя просто взять готовый претрейн и надеяться, что он будет хорошо переводить все именованные сущности. Нельзя просто обучиться на готовом кусочке WMT-данных и верить в то, что переводчик будет адекватно работать на специфичном домене. Нельзя просто взять обычный токенизатор и трансформер — и рассчитывать на корректный перевод текстов с шумами и опечатками.

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

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

История о том, как прочитать 120 тысяч анекдотов и не рассмеяться раньше времени

Level of difficultyEasy
Reading time15 min
Views5.7K

Небольшой рассказ с картинками о проведении тематического моделирования для массива документов, на примере датасета анекдотов на русском языке. В работе применены библиотеки Gensim, Sklearn. Рассмотрены разные способы векторизации токенов bag of words, tf-idf. Получены результаты для обсуждения и продолжения.
Велком...

Читать далее
Total votes 10: ↑9 and ↓1+11
Comments16

Пишем форк Chrome, который рендерит браузер в терминале

Level of difficultyMedium
Reading time12 min
Views5.8K

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

Представляю вашему вниманию веб-браузер Carbonyl!
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments13

OBOOBS.RU // Open B(.)(.)BS Project — небольшой проект про сиськи (женские)

Reading time1 min
Views41K
OBOOBS.RU

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

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

Сайт копирует модель коллективной фильтрации от bash.org.ru — состоит из двух разделов: Сигнал (отобранные и разбитые по категориям картинки) и Шум (огромное количество картинок, добавленных самими пользователями, выдаётся пользователям рандомно). Время от времени, самые популярные картинки из Шума уходят в Сигнал, «попадают на главную» (заодно и в RSS валятся). Вот и всё. Можно только добавить, что крутится всё на django (nginx, apache+mod_wsgi), postgresql и prototype.

Приходите к нам смотреть на красивые сиськи!
Total votes 372: ↑306 and ↓66+240
Comments187

Великий Китайский Заговор или как я Bluetooth-колонку переделывал

Level of difficultyEasy
Reading time11 min
Views31K

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

Под катом радикальное DIY-решение одной из основных проблем дешевых китайских Bluetooth-колонок.

Читать далее
Total votes 39: ↑37 and ↓2+51
Comments59

Простейший полнотекстовый поиск на Python с поддержкой морфологии

Level of difficultyMedium
Reading time14 min
Views9.4K

В прошлой статье я рассказывала, что составила для своего проекта словарь «Властелина Колец», причем для каждого англоязычного терма (слова/словосочетания) хранится перевод и список глав, в которых встречается это выражение. Все это составлено вручную. Однако мне не дает покоя, что многие вхождения термов могли быть пропущены.

В первой версии MVP я частично решила эту проблему обычным поиском по подстроке (\b{term}, где \b – граница слова), что позволило найти вхождения отдельных слов без учета морфологии или с некоторыми внешними флексиями (например, -s, -ed, -ing). Фактически это поиск подстроки с джокером на конце. Но для многословных выражений и неправильных глаголов, составляющих весомую долю моего словаря, этот способ не работал.

После пары безуспешных попыток установить Elasticsearch я, как типичный изобретатель велосипеда и вечного двигателя, решила писать свой код.

Изобретение велосипеда на Python и pandas
Total votes 9: ↑8 and ↓1+7
Comments3

Как воспитать GPT модель в домашних условиях [LLaMA Update]

Level of difficultyMedium
Reading time11 min
Views57K

Мы решили проверить технологию, на которой основан ChatGPT, посмотреть актуальное состояние open-source GPT-like моделей и ответить на вопрос — можно ли обучить GPT-like модель в домашних условиях?

Для эксперимента выбрали LLaMA и GPT-J и не самый мощный ПК с видеокартой Nvidia GTX 1080TI с 11 GB VRAM. Оказалось, что этого достаточно не только, чтобы загрузить модель, но и дообучить ее (fine-tune). Рассказываем — как мы это сделали.

Читать далее
Total votes 42: ↑40 and ↓2+44
Comments25

Information

Rating
2,879-th
Location
Волгоград, Волгоградская обл., Россия
Registered
Activity