Pull to refresh
42
0
Александр Фролов @AlexandreFrolov

Генеральный директор

Send message

Сущностный анализ манускрипта Войнича с инженерной точки зрения

Level of difficultyEasy
Reading time18 min
Views20K

На сегодняшний день содержание манускрипта Войнича [1] до сих пор не разгадано, и вашему вниманию предлагается непротиворечивая реконструкция содержания путем анализа изображений с инженерной точки зрения. Книга, помимо всем известной справочной части, содержит явно сценарные вставки с действующими лицами. Поэтому для расшифровки имен собственных помимо графического материала был частично проанализирован язык книги, для расшифровки имен и придания эффекта присутствия в событиях. Обобщим известные результаты анализа книги, сделанные ранее, чтобы далее не повторяться.

 Возраст книги

По результатам радиоуглеродного анализа фрагментов манускрипта, химик и археометрист Аризонского университета Грег Ходжинс установил, что пергамент для манускрипта был выделан между 1404 и 1438 годами в эпоху раннего Возрождения [2]. Очевидно, что сама книга могла быть написана и позже.

Читать далее

Как сделать и настроить собственный VPN

Level of difficultyEasy
Reading time6 min
Views457K

VPN – это технология защищенного подключения к удаленному компьютеру или сети, а для большинства пользователей – просто безопасный способ использования интернета в зонах общедоступного Wi-Fi.

В статье рассмотрим четыре способа создания собственного VPN. Начнем с самого простого варианта, что под силу даже начинающим пользователям ПК.

Читать далее

Linux Pipes – медленные

Level of difficultyMedium
Reading time9 min
Views13K

Я пишу программу для сверхбыстрого кодирования/декодирования азбуки Морзе и использую pipe для передачи данных. При этом pipe работает очень медленно. Давайте разберемся почему.

Читать далее

«Окно» в LLM: как компании из России найти безопасную альтернативу ChatGPT

Level of difficultyEasy
Reading time3 min
Views4.3K

Привет Хабр! Меня зовут Петр Мицов, я продакт-менеджер в Just AI. Одно из ключевых направлений нашей компании — разработка решений на базе генеративного AI для бизнеса.

Поскольку мы создаем продукты для работы с большими языковыми моделями, нам важно знать, сталкиваются ли российские компании с проблемами и трудностями при интеграции популярных облачных LLM в свои программные решения. Чтобы это выяснить мы проверили две гипотезы: имеют ли компании проблемы с доступом к ChatGPT API и является ли блокером отправка в облако конфиденциальных данных? О результатах эксперимента и безопасных альтернативах ChatGPT API я расскажу в этой статье.

Читать далее

Принципы работы генеративных моделей для создания текста и изображений

Level of difficultyEasy
Reading time6 min
Views2.7K

Всем привет! Меня зовут Анна Васильева, руководитель проектов в отделе департамента категорийного менеджмента Fix Price. Предлагаю подробно рассмотреть основные принципы работы генеративных моделей для создания текста и изображений: решения, основанные на генеративных моделях, позволяют существенно упростить процесс создания контента и открывают новые возможности для оптимизации рабочих процессов. Мы пройдемся по ключевым алгоритмам, лежащим в основе этих моделей, а также рассмотрим некоторые варианты применения выбранных решений, что позволит лучше понять их потенциал.

Определение и основные типы генеративных моделей

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

Читать далее

Семантический поиск (homemade)

Level of difficultyMedium
Reading time127 min
Views6.6K

Основой семантического поиска может являться ML задача Sentence Similarity, а если быть еще конкретнее, то это Semantic Textual Similarity. Модели, обученные под эту задачу, способны оценивать насколько близки предложения по своему смыслу. Всё, что нам дальше остается, так это засунуть модель в некоторую поисковую систему...

Но тут давайте по порядку

Давайте сделаем крупное приложение на Flask (язык Python)

Reading time18 min
Views26K

На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Читать далее

Оптимизация Gunicorn для быстрых клиентов

Level of difficultyEasy
Reading time2 min
Views2K

Самая распространённая конфигурация из мануалов по настройке:
gunicorn --workers 3 wsgi:app

Какое количество воркеров оптимально?
Считается формулой: (Количество ядер процессора)*2+1

А также, у Sync воркеров есть Gthread класс:
gunicorn --workers 5 --threads 2 wsgi:app
Указывая параметр тредов, воркеры автоматически становятся класса Gthread.

Читать далее

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

Reading time5 min
Views24K

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

Читать далее

Самостоятельно добавляем динамическую подсветку Ambilight на свой телевизор или монитор

Reading time6 min
Views33K

Фоновая подсветка пространства за телевизором была придумана очень давно, но сделать ее динамической первыми додумались в компании Philips. Подсветка считывала информацию с потока данных и в режиме реального времени подбирала нужные цвета в нужных участках делая небольшую магию. Это дает сразу 2 положительных эффекта: разгружает зрение, обеспечивая мягкое фоновое освещение и сильнее погружает в происходящее на экране, добавляя изображению глубины. Покупать только из-за этого телевизор от Philips станут не многие, но функция действительно очень интересная. А что если я скажу, что аналогичную подсветку можно установить на любой телевизор или монитор? Причем стоить это будет совсем недорого, а установка и настройка займет от силы пол часа. В общем я на себе проверил насколько это рабочий вариант и теперь хочу поделиться с вами своим мнением.

Читать далее

Настройся на RAGAS и настрой RAGAS под себя

Level of difficultyHard
Reading time12 min
Views5.2K

Не секрет, что RAG (Retrieval-Augmented Generation) сейчас является распространённой техникой использования Больших Языковых Моделей (LLM) в вопросно-ответных системах. Ну а где есть ML-модели, там есть и оценка качества. О том, как оценивать RAG-модели и автоматизировать этот процесс под свою задачу, вы прочитаете в данной статье.

Читать далее

Как работает блокчейн: объяснение от эксперта по ИТ Петра Емельянова

Level of difficultyEasy
Reading time14 min
Views11K

Блокчейну приписывают три свойства: неизменяемость, распределенность и консенсус. Разберём, что обеспечивает ему эти свойства и как работает. Объясняет эксперт по машинному обучению и AI — дотошно и подробно, заглянем под капот.

Читать далее

Секреты логических операторов в Python

Level of difficultyMedium
Reading time8 min
Views36K

Логические операции играют важную роль в программировании. Они используются для создания условных конструкций и составления сложных алгоритмов. В Python для проведения логических операций используются логические операторы:

not — логическое отрицание

and — логическое умножение

or — логическое сложение

В этой статье мы поговорим о неочевидных деталях и скрытых особенностях работы логических операторов в Python.

Читать далее

Установка и безопасная настройка Redis

Level of difficultyEasy
Reading time5 min
Views32K

Сегодня мы поговорим о СУБД Redis, рассмотрим процесс установки и настройки. В отличие от реляционных систем управления базами данных, Redis является СУБД класса NoSQL с открытым исходным кодом, работающей  со структурами данных типа «ключ — значение».

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

Но, вернемся к СУБД Redis. Redis - это хранилище значений ключей в памяти, известное своей гибкостью, производительностью и широкой языковой поддержкой. Данная система ориентирована на достижение максимальной производительности на атомарных операциях (заявляется о приблизительно 100 тыс. SET- и GET-запросов в секунду на Linux-сервере начального уровня). Написана на Си, интерфейсы доступа созданы для большинства основных языков программирования. Далее мы поговорим о том, как установить и безопасно настроить Redis на сервере Ubuntu 22.04.

Читать далее

Нейросети и CV — основы теории и практика — система машинного зрения на одноплатнике Repka Pi

Level of difficultyMedium
Reading time28 min
Views8.2K

— Никто не обнимет необъятного!

Козьма Прутков, 1854

Одно из интересных и полезных применений нейросетей — обнаружение объектов на изображении, таких как машины, люди или человеческие лица.

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

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

Так же рассмотрим основные понятия нейронных сетей. Разберём, как добавить функции обнаружения лиц и людей в видеопотоке от обычной веб-камеры, подключенной через USB к Repka Pi. При этом будут использованы каскады Хаара, нейросеть Yolo-FastestV2, фреймворки OpenCV и NCNN, а также репозиторий ml-repka от компании Rainbowsoft.

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

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

Читать далее

Почему квантовая механика – это теория физики Мультивселенной

Level of difficultyMedium
Reading time32 min
Views6.5K

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

В этой статье я объясняю, почему сторонники идеи квантового Мультивёрса называют многомировую интепретацию метатеорией и считают её единственным правильным пониманием квантовой механики. Также мы согласуем волновую механику Шрёдингера с матричной механикой Гейзенберга, переосмыслим понятия квантовой интерференции и декогеренции, разберёмся с математическим понятием неотличимости, выясним, почему не все бесконечности равны, найдём меру в несчётном множестве вселенных Мультивёрса, избавимся от квантовых скачков и покажем, откуда в квантовом мире берутся классические свойства макрообъектов.

Читать далее

Скотч, кабель, Интернет: умный съемный дом

Level of difficultyEasy
Reading time9 min
Views20K

Я люблю автоматизацию, гаджеты и IoT

Поэтому, места где я живу, рано или поздно становятся автоматизированными и обвешанными интернетом вещей

Да чего там, у меня даже бойлер по расписанию работает!

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

Автоматизируй это

Масштабирование глубокого обучения с помощью Horovod и Kubernetes

Level of difficultyMedium
Reading time7 min
Views1.7K

Horovod — это фреймворк для распределенного глубокого обучения, изначально разработанный в Uber. Он позволяет масштабировать обучение моделей на сотни и тысячи GPU, сокращая время тренировки с недель до часов. Horovod поддерживает такие фреймворки, как TensorFlow, Keras, PyTorch и Apache MXNet, и легко интегрируется с существующими кодовыми базами, требуя минимум изменений.

В статье как раз и пойдет речь о том, как масштабировать модельки с помощью Horovod и Kubernetes.

Читать далее

Эмбеддинги для начинающих

Level of difficultyEasy
Reading time5 min
Views56K

Привет, Хабр!

В широком смысле, эмбеддинг - это процесс преобразования каких-либо данных (чаще всего текста, но могут быть и изображения, звуки и т.д.) в набор чисел, векторы, которые машина может не только хранить, но и с которыми она может работать. Звучит очень интересно. Казалось бы, наша речь - это так просто, все связано и понятно. Но как это объяснить машине?

В этой статье мы рассмотрим, что такое эмбеддинги и какие они бывают.

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

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

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

Читать далее

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity