Всем привет! Недавно, когда я размышлял над работой памяти в мозге человека, мне пришла идея того, как можно сделать нейронную сеть, которая будет обладать способностью самообучаться. В этой статье я бы хотел представить свои размышления и идею, к которой я пришёл.
Разработка
Новости
NLP для поиска грамматических ошибок
Привет, Хабр!
Сегодня с вами участник профессионального сообщества NTA Журавлев Сергей.
В 2017 году на свет вышла статья разработчиков Google под названием «Attention is All You Need». В ней впервые была предложена идея трансформеров — моделей машинного обучения, ключевой особенностью которых было использование так называемых «слоев внимания», определяющих, какие слова и в какой степени важны для формирования контекста предложения. Публикация стала началом активного развития и продвижения моделей машинного обучения на описанной архитектуре.
Миграция API с Framework на .NET6 — скандалы, интриги, расследования и немного выводов
Давным-давно, во времена, когда по Земле бродили цифровые динозавры, а разработчики .NET ещё помнили, зачем нужна технология WebForms (и какие у неё были проблемы с производительностью), в Контуре появился продукт под названием Фокус, предназначенный для проверки контрагентов. И у этого продукта довольно быстро появился API, ориентированный на крупных клиентов.
ASP.NET MVC был ещё в новинку, до появления WebAPI оставались годы, и отцы-основатели проекта приняли вполне актуальное, с учётом реалий того времени, решение: делать API на базе ashx-хендлеров, чтобы максимально повысить скорость работы.
Шли годы, .NET Framework сперва меняла версии как ветреная красавица перчатки, а потом и вовсе перешла в разряд «для поддержки жизнедеятельности требуется опытный некромант», .NET Core сперва появился, а потом благополучно переименовался в просто .NET, дорос до 6-й, а потом и 7-й версии… а API Фокуса всё ещё жил по старому, доброму принципу «работает — не трогай». И вот, наконец небосвод провернулся, и звёзды сошлись в нужной позиции. Мы поехали на .NET 6.
Оговорюсь сразу, что сам переезд произошёл примерно полгода назад, когда .NET 8 ещё находилась в стадии альфы. Именно поэтому в качестве целевой версии .NET была выбрана именно стабильная 6-я. Тем не менее большинство проблем будут актуальны и при миграции на 8-ю версию.
Настоящее предназначение OpenAI SORA: как и зачем симулировать «Матрицу» для ChatGPT
Ну что, уже успели прочитать восхищения небывалым качеством видео от нейросетки SORA у всех блогеров и новостных изданий? А теперь мы вам расскажем то, о чем не написал никто: чего на самом деле пытается добиться OpenAI с помощью этой модели, как связана генерация видео с самоездящими машинами и AGI, а также при чем здесь культовая «Матрица».
Истории
Julia. Метапрограммирование и макросы
Julia является одним из самых востребованных математических языков программирования. Однако некоторые особенности этого языка, которые обеспечивают гибкость и позволяют расширять её области применения, не столь часто используются программистами. В этой статье пойдёт речь о механизме макросов, который выгодно её отличает от прочих скриптовых языков программирования.
Механизм макросов используется в Julia довольно часто. Макрос при использовании начинается с символа @
и имеет вид @show
, @benchmark
… А также, в неявной форме, макросами являются регулярные выражения r"[a..z]"
(это макрос с полным именем r_str), а также многочисленные другие способы применения, включая примеры Modia.jl / Unitful.jl с макросом u_str
, где физическая величина «вшита» в число:
L = 0.8u"m",
m = 1.0u"kg",
d = 0.5u"Nms/rad",
g = 9.81u"m/s^2",
Математическое моделирование технологических объектов и систем глазами и руками студента
Традиционно Росатом уделяет особое внимание подготовке кадров и поддержке всестороннего развитию молодых талантов – в том числе по инженерно-математическому направлению. В предыдущих статьях мы подробно рассказывали, как моделировать в REPEAT – собственной разработке Инженерно-технического центра «ДЖЭТ». Но мы не только моделируем на REPEAT сами, но и учим этому ребят со студенческой скамьи. Открытые в ведущих вузах страны образовательные центры на базе REPEAT - Школы моделирования - становятся для студентов мощным центром цифровых компетенций, а также обеспечивает их знакомство с отечественной технологией тренажеростроения, основанной ИТЦ «ДЖЭТ» более 30 лет назад и применяемой до сих пор. Подробнее о нашем проекте Школа моделирования читайте ниже.
Забегая вперед, скажу - сегодня мы открываем цикл статей, посвященных труду в области математического моделирования от наших студентов – учащихся Школ моделирования. Наблюдая за прогрессом начинающих IT-инженеров в освоении искусства математического моделирования на REPEAT, мы решили, что на глазах зарождается научная школа в области развития цифровых двойников и других digital направлениях – и базируется она на отечественном ПО. Вместе мы открываем новые возможности программного обеспечения REPEAT, и с нетерпением ждем новых достижений и открытий, которые предстоит осуществить вместе со студентами и преподавателями нашего общего проекта Школа Моделирования.
Начнем публиковать поводы для гордости с кейсов, разработанных командой Кубанского государственного технологического университета – это талантливые студенты кафедры теплоэнергетики и теплотехники и их не менее талантливые преподаватели. Вместе они прокладывают свой собственный путь в области изучения и разработки цифровых двойников, а REPEAT им в этом активно помогает.
Реализуем touch жесты на vanilla js. Часть 1 (rotate)
В рамках этой статьи я пошагово реализую жест поворота в мобильной версии сайта используя ванильный javascript. Для этого мы рассмотрим как устроены touch события мобильного браузера, а также немного вспомним тригонометрию.
Кодируем крестики-нолики в 15 битах
Недавно я наткнулся на пост Алехандры Гонсалес (@blyxyas), в котором рассказывается о попытке сжать игру крестики-нолики в минимальное количество битов. Она пришла к решению из 18 битов. Это заставило меня задуматься: а можно ли улучшить этот результат?
Как говорит Алехандра, существует 765 возможных состояний игры1. Мы можем просто назначить число каждому состоянию, что займёт 10 битов2. Но, по словам Алехандры, это «скучно». С таким описанием игры мы практически ничего не сможем сделать. Когда будет нужно считать значение из конкретной ячейки или перейти из одного состояния в другое, на практике нам придётся использовать таблицу поиска, сопоставляющую каждое число с более крупным и структурированным описанием, что делает бессмысленным саму идею сжатого описания.
Ansible + Grafana Loki: Настраиваем отправку уведомлении в чат после логина на сервер по SSH
Не задумывались ли вы когда-нибудь над тем, чтобы знать о каждом входе на ваши сервера? Меня охватила такая же паранойя: а вдруг, когда я сплю, на мой сервер заходит домовой и творит там ужасы? Хотя логин на наши сервера и запрещен по паролю, а SSH-ключи есть только у меня, в любом случае это вызывает большие опасения.
В этой статье мы развёрнем через Terraform несколько серверов в Yandex.Cloud, а затем при помощи Ansible настроим необходимый софт на каждом сервере. У нас будет основной сервер c Loki (система агрегирования логов) и Grafana (инструмент для визуализации данных), на серверах, которые мы хотим отслеживать, будет установлен Promtail (агент для сбора и отправки логов). Мы разберёмся с тем, как отслеживать входы на сервер, а затем в удобном формате отправлять об этом уведомления в чат с помощью вышеуказанных сервисов.
Как аналитику сохранить нервы: 5 упражнений для успокоения
Всем привет. Меня зовут Айгуль, я аналитик в «Альфа-Банке», больше 15 лет увлекаюсь психологией, изучаю разные направления, практикую, консультирую. Подготовила вам длинную статью на вечер. Расскажу о том, какое определение аналитика я для себя вывела, что такое стресс и как концепция множественного интеллекта делает нас гибче.
Приглашаю вас исследовать тему стресса со мной. В процессе буду давать небольшие упражнения с комментариями и пояснениями, надеясь, что вы будете включаться и пробовать. Всё, о чем сегодня буду вам рассказывать, я попробовала на себе, как с точки зрения пользователя, так и понимания, как это работает, так что будет не просто теория.
Давайте сразу с упражнения и начнём — выберите время, найдите спокойное место и попробуйте сильно сжаться, почувствуйте напряжение во всем теле. Держите столько, сколько можете выдержать. В определенный момент ваше тело захочет расслабиться — позвольте ему это сделать, возможно, оно захочет как-то растечься или принять другую позу, позвольте ему это сделать. Обратите внимание на дыхание – попробуйте переключить свое внимание на дыхание через живот: когда происходит вдох, живот наполняется воздухом, когда выдыхаете – ваш живот сжимается. Сделайте, пожалуйста, три таких глубоких вдоха и выдоха. Теперь можно начинать читать.
Как быстро написать API на FastAPI с валидацией и базой данных
Все веб-запросы обрабатываются на сервере — это хорошо всем известно. Но бывает, когда нужно написать специальный программный интерфейс, так называемый API, через который пользователи смогут централизованно получать данные и вносить изменения, например, в свой профиль.
В этой статье мы разработаем простой API с помощью самого популярного стека и FastAPI. Рассмотрим важные концепции в работе с этим фреймворком, набросаем базовую структуру проекта и развернем приложение на облачном сервере. Подробности под катом!
Google Apps Script и с чем его едят
Всем привет! Меня зовут Леша Штанько, я системный администратор и интегратор (если остается время, еще и JS-разработчик :D) в AGIMA. Если представить Google большим айсбергом, то на его верхушке точно разместятся всеми любимые и популярные инструменты, вроде Google Sheets и Google Calendar, а Google Apps Script скроется где-то под толщей воды. Но я считаю, что больше людей должны попробовать этот классный инструмент. Поэтому в этой статье расскажу о его главных достоинствах и поделюсь практическими примерами.
Генерация тест-кейсов на основе искусственного интеллекта: революционный подход для тестировщиков
Современные приложения становятся все более сложными и потребность в актуальном и эффективном тестировании растет. Ручное создание тест-кейсов может занять много времени, поэтому применение генерации тестов на основе ИИ может сделать этот процесс более эффективным.
По мере того, как растет потребность в более быстрых циклах разработки и повышении качества программного обеспечения, генерация тест-кейсов на основе ИИ выступает в роли силы, которая способствует преобразованиям в тестировании. В этой статье мы изучим революционный концепт создания тест-кейсов с использованием ИИ, и покажем его потенциал в изменении парадигм тестирования ПО за счет повышения эффективности, покрытия и точности.
Ближайшие события
Книга «Эволюционная архитектура. Автоматизированное управление программным обеспечением. 2-е межд. изд.»
Новые инструменты, фреймворки методики и парадигмы вновь и вновь меняют экосистему
разработки программного обеспечения. Непрерывный прогресс основных практик разработки
на протяжении последних пяти лет заставил искать новые пути и подходы к архитектуре, чтобы
соответствовать постоянно меняющимся требованиям пользователей. В обновленном издании
авторы Нил Форд, Ребекка Парсонс, Патрик Куа и Прамод Садаладж приводят реальные примеры, соответствующие потребностям современной разработки ПО.
«Эта книга знаменует собой важную веху, обозначающую нынешний уровень понимания проблемы. По мере того как люди начинают осознавать роль ПО в XXI веке, информация о том, как реагировать на изменения, сохраняя достигнутое, становится важнейшим навыком в области создания программного обеспечения». — Мартин Фаулер.
Как работает async/await в Swift
Функция async/await в Swift появилась в iOS 15, и я полагаю, что на данный момент вы уже знаете, как ее использовать. Но задумывались ли вы когда-нибудь о том, как работает async/await изнутри? Или, может быть, почему выглядит и ведет себя именно так? Или даже почему вообще была представлена?
В типичной для SwiftRocks манере мы углубимся в компилятор Swift, чтобы ответить на вопросы о том, как работает async/await внутри. Это не инструкция по использованию async/await, а глубокое погружение в историю и реализацию этой функции, чтобы понять, как она работает, почему она работает, чего можно добиться с ее помощью и, самое главное, какие нюансы следует учитывать при работе с ней.
Гибкие магниты: что это и с чем их готовят?
Все мы хорошо знакомы с гибкими магнитами — кто-то клеит их на холодильник по поводу и без, кто-то (как автор статьи) закрывает с их помощью герметичную камеру 3D-принтера, а кто-то использует в иных технических целях. Что же это такое? Будем препарировать…
Создали инструмент по оценке здоровья сервисов и теперь видим, есть ли у команд проблемы
Меня зовут Лена Матвеенко, я бэкенд-разработчик в ЮMoney. Сегодня расскажу о здоровье сервисов и о том, как мы его измеряем. Рассмотрим, что такое здоровье, чем оно отличается от качества, зачем его оценивать и как это сделать, если в отделе несколько десятков разработчиков и более ста сервисов.
Инфраструктурные пайплайны в Jenkins
Привет, Хабр!
Jenkins позволяет автоматизировать всё, от сборки и тестирования кода до деплоя на продакшн. Jenkins работает по принципу пайплайнов, которые можно настраивать под любые нужды проекта.
Инфраструктурный пайплайн – это серия автоматизированных шагов, которые преобразуют ваш код в готовое к использованию на продакшне программное обеспечение. Главная цель всего этого – сделать процесс доставки ПО как можно более быстрым.
Записки хирурга. Распиливание слонов PostgreSQL наживую и без анестезии
Привет, Хабр! С вами снова AliExpress Order Management System. Сегодня поговорим о том, как мы увеличивали количество шардов без длительного даунтайма. Спойлер: в конце - самое интересное ;)
Приручаем нейросети
Давно не виделись, уважаемые!
Ну что ж, рад вас видеть, сегодня будем говорить и применять новые инструменты для создания RAG, улучшим качество наших результатов относительно прошлой статьи за счет использования других моделей для embeddings. Также затронем использование трушной векторной БД Chroma.