❌

Normal view

Архитектура 1С для новичков: Строим первую внешнюю обработку и клиент-серверный мост. Часть первая

Боитесь запутаться в клиент-серверной архитектуре и управляемых формах? В этой короткой статье разберем самый простой и понятный алгоритм создания внешней обработки с нуля. Идеально для начинающих разработчиков и студентов, делающих первые шаги в 1С.

​Каждый начинающий программист 1С рано или поздно приходит к моменту, когда типовых возможностей конфигурации не хватает, а вносить изменения в саму конфигурацию (снимать с поддержки) нельзя или не хочется. Именно для таких задач и существуют внешние обработки (файлы с расширением .epf),они не мешают последующим типовым обновлениям от фирмы 1С.

Шаг 1. Создаем файл обработки в Конфигураторе

Открываем Конфигуратор и идем по классическому пути: Файл — Новый — Внешняя обработка.

Перед нами пустая карточка. Здесь нас интересуют два поля: Имя и Синоним.

Имя — это то, как к вашей обработке будет обращаться сама система в коде (пишем строго без пробелов, например: ЗагрузкаДанныхИзФайлов).

Синоним — это название, которое 1С выведет на экран пользователю (тут пробелы и знаки препинания разрешены, например: Умный импорт первички).

Шаг 2. Проектируем интерфейс (Управляемую форму)

Находим в дереве пункт Формы, жмем на лупу и создаем новую управляемую форму обработки.

Добавляем данные: В правом верхнем углу (вкладка Реквизиты) нажимаем «Добавить». Нам нужна строка, назовем её ПутьКФайлу, перетаскиваем в левое верхнее окно Элементы. 

Лайфхак для интерфейса: Выделяем это поле, открываем его свойства (Alt + Enter) и в поле Заголовок пишем то, что должен увидеть пользователь, а чуть ниже находим свойство КнопкаВыбора и ставим галочку Да (чтобы в поле появились заветные три точки ...).

Читать далее

Линейное внимание может больше

Привет, Хабр! Мы — студенты мастерской по сервисам и платформам ИИ Инженерно-математической школы НИУ ВШЭ и VK: Павел Алексеев, Александр Рожкин, Андрей Аргаткин, Алексей Павлов и Матвей Каменев. В этом проекте мы проверяли, как повысить качество моделей с линейным вниманием до уровня обычного трансформера. Такой механизм позволяет обрабатывать длинные последовательности без квадратичного роста вычислительных затрат. Это делает его перспективным для более экономного обучения языковых моделей и обработки длинных документов. При авторегрессионной генерации текста он помогает экономить память: вместо растущего KV-cache можно хранить состояние фиксированного размера.

Отправной точкой стала архитектура Dense Attention. Она использует простые матричные операции без softmax, но в опубликованных экспериментах показывает высокое качество. Наш руководитель Андрей Аргаткин в статье о Dense Attention задал новое направление исследования. Мы разберёмся, какие компоненты модели обеспечивают этот результат и можно ли перенести их на другие варианты внимания.

Рабочая гипотеза — линейные модели отстают по качеству не только из-за замены softmax, но и из-за архитектурных настроек и обучения. Число голов, позиционное кодирование и схема слоёв, подобранные для стандартного трансформера, не обязательно оптимальны для линейного механизма. Мы проверяли, сократят ли разрыв по качеству изменение этих компонентов и MLM-предобучение, если не возвращаться к глобальному softmax-вниманию.

Читать далее

Дообучаем Gemma 26B на MacBook с 24 ГБ памяти: как устроен голосовой помощник, который работает без интернета

Полгода я собираю голосового помощника для macOS, который не просто отвечает, а выполняет действия на компьютере. Главное условие — языковая модель работает локально, без облака и подписок. Рассказываю, из чего состоит такая система, как я дообучал Gemma 26B на MacBook с 24 ГБ памяти и на какие грабли наступил по дороге.

Читать далее

Почему softmax теряет градиенты — и как школьная алгебра 7-го класса помогает их сохранить

Модель почти идеально выучила ответ, а градиент правильного класса уже стал машинным нулём. При дистилляции возможна обратная ситуация: ученик повторяет учителя, но вычисление всё ещё выдаёт сигнал ошибки. Разбираю исправления DeepMind на школьной алгебре, проверенных примерах NumPy и четырёх графиках: где теряются маленькие числа, как это влияет на обучение и что стоит проверить в своей среде.

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

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

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

Читать далее

PyLab — 2 года: как пользователи превращают пет-проект в продукт

28 октября моему пет-проекту PyLab, приложению для изучения Python и написания кода прямо на смартфоне, исполнилось два года. В прошлой статье я рассказывал, что умеет приложение, а сегодня расскажу о решениях: почему горячие правки обходятся дороже, чем кажется, чем окупился полный редизайн в версии 4, как одна идея пользователя стала любимой функцией и почему модерация в сторах превращает каждую ошибку в проблему на неделю.

Читать далее

Под капотом iZotope: что общего у Nectar, Neutron, Ozone и RX

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

Я разобрал, как устроено это семейство: что связывает компрессоры Nectar и Neutron, зачем iZotope собственный интерфейсный движок Glass и где в обработке участвуют ML-модели. Отдельно проверил задержку компрессора Nectar: при 48 кГц сигнал сдвигается на 47 сэмплов даже при Mix 0%.

В статье покажу схемы, примеры C++ и результаты измерений. Заодно сравню эти решения с открытыми проектами и разберу, сколько работы скрывается за привычными ручками Attack, Release и Mix.

Читать далее
❌