GPT-3 можно обучить на основе русской литературы, русской и английской
«Википедии», новостных сайтах и сайтах с вопросами и ответами и другого.
«Сбер» выложил в открытый доступ модель для генерации текстов GPT-3 Large с 760 млн параметров, сообщил управляющий директор департамента SberDevices Сергей Марков на «Хабре».
GPT-3 можно обучить на основе русской литературы, русской и
английской «Википедии», новостных сайтах и сайтах с вопросами и
ответами, публичных разделов Pikabu, научно-популярного сайта
22century.ru и банковского «Банки.ру», а также с помощью проекта с
открытым исходным кодом, содержащим 33 млрд русских слов, Omnia Russica.
«Сбер» хотел научить GPT-3 обрабатывать программный код — для
этого в обучающий корпус модели включили также данные из GitHub и
StackOverflow.
Это первый обучающий корпус на русском языке, отмечают в
компании. Проектом занялись подразделения «Сбера» SberDevices, SberCloud
и команда по разработке ИИ AGI NLP. Команда AGI NLP провела работу по
чистке данных, а также по подготовке наборов для тестирования моделей.
В мае 2020 года лаборатория OpenAI представила алгоритм GPT-3. Он работает
с текстом: пишет стихи, прозу, новости и посты, придумывает шутки и
литературные пародии, умеет отвечать на вопросы по прочитанному,
переводить, решать примеры и программировать.
Оригинальный корпус от OpenAI содержал в основном материалы
на английском — соотношение последнего и других языков составляет 93:7. В
случае «Сбера» разработчики сделали упор на русский — соотношение к
другим языкам составляет примерно 9:1, пишет Марков.
Национальный государственный поисковый сервис
«Спутник», на развитие которого были потрачены миллиарды рублей,
окончательно закрыт. Теперь под брендом «Спутник» разрабатываются
различные корпоративные продукты, в том числе браузер.
Конец «Спутника»
Компания «Поисковый портал Спутник» (ООО «ПП "Спутник"») дочернее
предприятие «Ростелекома», окончательно свернула свой поисковый сервис
«Спутник». Ранее «Спутник» позиционировался как «национальная
государственная поисковая система и интернет-портал».
С официального сайта «Спутника» уже пропала строка для ввода
поисковых запросов. На главной странице сайта представлены ссылки на
другие разработки компании – доверенный и корпоративный браузеры,
аналитическую систему и дистрибутив корпоративного поиска с машинным
обучением.
Сегодня из былых сервисов «Спутника» (погода, телепрограмма, карты,
финансы, «удобная страна», «мой дом» и др.) работают только
корпоративные новости и проект «Спутник.дети», причем поиск со страницы
404 перебрасывает на go.mail.ru. Как отметил Михаил Козлов,
руководитель исследовательских проектов в Mail.ru Group, одним из
первых заметивший исчезновение поисковой строки с сайта «Спутника»,
«теперь вместо поискового портала – корпоративный сайт».
CNews обратился в «Ростелеком»
с запросом о причинах закрытия поисковой системы «Спутник» и планах
использования наработанных технологий в других проектах компании. На
момент публикации представители компании не прокомментировали запрос
CNews.
Что с возу упало, то не вырубить топором
О первых планах правительства России по созданию национальной
поисковой системы стало известно еще в 2010 г. Разработкой «Спутника»
занималась команда программистов из «КМ-медиа», которая вынашивала идею
собственного поисковика с 2006 г., а позже, в 2012 г., была выкуплена
«Ростелекомом».
Так выглядел поисковик «Спутник» до закрытия
Запуск поисковика «Спутник» состоялся в мае 2014 г., одноименного браузера — в сентябре 2015 г. Уже и июне CNews сообщил о том, что в «Ростелекоме» запуск поисковика «Спутник» признали неудачным. В конце июня 2017 г. президент «Ростелекома» Михаил Осеевский
выступил идеей сделать «Спутник» обязательным к использованию в
государственных ведомствах и компаниях, однако инициатива так и не
получила поддержки.
Сайт «Спутника» в настоящее время
Еще в августе 2016 г. CNews посчитал,
что расходы на «Спутник» на тот момент составили не менее 2 млрд руб.
без учета многомиллионной аренды площадей для разработчиков, хотя его
пользовательская аудитория в России была менее 1%.
В декабре 2017 г. «Ростелеком» вложил еще 260,4 млн руб. на развитие
браузера и специализированных отраслевых сервисов, но уже в феврале 2018
г. «Ростелеком» обратился с иском в Арбитражный суд Москвы о запуске
для «Спутника» процедуры банкротства. Причиной стали долги «Спутника»
перед оператором по договору займа от 31 марта 2015 г., при этом сумма
основного долга составила 3 млн руб., начисленных процентов — 7,6 млн
руб.
Уже после вынесения вердикта о банкротстве в карточке судебного
разбирательства 16 июля 2018 г. появился документ, касающийся заявления
«Ростелекома» о «включении в Реестр требований кредиторов задолженности в
размере 292,2 млн руб., что в 27,5 раз больше суммы первоначального
долга.
В августе 2018 года «Ростелеком» потребовал признать банкротом ООО
«Спутник». В декабре суд признал несостоятельность компании и открыл
конкурсное производство, а в мае 2019 года закрыл его. В июле 2019 года
ООО «Спутник» прекратило свою деятельность. CNews сообщил о том, что сверхзатратный «Спутник» с подачи «Ростелекома» был признан банкротом по решению суда.
Комментарий «Ростелекома»
После публикации материала CNews получил ответ пресс-службы «Ростелекома». Приводим его полностью.
«ООО «Спутник» продолжает полноценно работать как дочерняя компания
«Ростелекома». Несколько лет назад было объявлено об изменении стратегии
«Спутника» — он переориентировался на разработку ПО и решений для
сегментов B2B и B2G в области поиска и обработки информации. На сегодня в
портфеле компании такие решения как корпоративные браузер и поисковая
система, система поддержки медицинских решений, лаборатория
интеллектуального анализа данных, web-аналитика и другие. Решения
компании «Спутник» используются в ФНС России, Почте России, ГИБДД РФ,
ФИПС, Роспатенте, Правительстве Москвы и в областных администрациях 85
регионов России, Министерстве здравоохранения Республики Алтай, ФГУП
Информационно-аналитический центр поддержки ГАС «Правосудие» и других
организациях».
Стандарт USB давно стал народным. Просто нет пользователя, не
знакомого с ним. От этого еще более смелым и сложным выглядит сделанный
разработчиками шаг к переходу на совершенно новый разъем. Оправдал ли
он себя?
Маленькая революция в мире USB
USB
Type-C или USB-C, кстати, оба варианта названия верны, — универсальный
разъем стандарта USB, курируемого международной организацией USB-IF.
Первый релиз был выпущен в 2014 году, а последняя и действующая
спецификация 2.0 датирована августом 2019 года. USB-C призван заменить
все существующие стандартные разъемы USB.
В спецификации приведены конструктивные преимущества:
возможность использования в тонких гаджетах (ультрабуках, смартфонах
и т.п.) за счет компактности — высота гнезда USB Type-C не превышает 3
мм;
независимость от ориентации штекера — можно подключать любой стороной;
независимость от направления подключения (хост и девайс) — одинаковый разъем на обоих концах кабеля.
Без
паники — по старой доброй традиции USB сохраняется обратная
совместимость со старыми версиями стандарта. C помощью переходника вы
подключитесь к устройству с традиционными Type A или Micro B.
Разумеется, скорость передачи данных и уровень мощности будут ограничены
по минимальной версии стандарта у взаимодействующих устройств. Тот же
Micro USB, свойственный для USB 2.0, порежет полосу до 480 Мбит/с.
Подробнее об этом в разделе про кабели.
Самое интересное
начинается как раз с пропускной способности. Начиная с версии USB 3.2
Gen2x2, он же SuperSpeed 20 Гбит/с (подробнее про правильные
наименования здесь и здесь), используется только USB Type-C.
В будущем стандарте USB4, который уже совсем близко, будет поддержка
только этого разъема. Если нужна скорость от 20 Гбит/с и выше — только
посредством USB-C.
Разумеется, помимо инновационного конструктива,
разработчики произвели серьезный апдейт основных ТТХ. В первую очередь,
это расширение полосы и увеличение мощности. Дополнительно появилась
возможность работы со сторонними интерфейсами. Зафиксируем все, что
«проходит» через разъем USB-C:
USB 2.0;
USB 3.2;
USB4;
Thunderbolt3 (TBT3);
USB Power Delivery (USB PD);
DisplayPort Alt Mode (DP AM).
Вскрытие покажет. Распиновка USB Type-C
Рассмотрим
внимательнее разъем. Внешне он сильно отличается от своих
предшественников, впервые получив округлую симметричную форму.
Пусть
вас не смущают отсутствие видимых зацепов на штекере и многочисленные
жалобы на это. В разъеме реализован механизм фиксации в виде защелок на
штекере и углублений под них на гнезде. Входить и выходить такой шнурок
сможет долго — заявленная наработка на отказ — 10 000 циклов. Если в
среднем ежедневно делать по пять подключений, то должно хватить на 5 лет
работы.
Начинка разъема отличается в зависимости от исполнения.
Гнездо бывает двух типов: полнофункциональное (Full-Featured Type-C
Receptacle) и поддерживающее только USB 2.0 (USB 2.0 Type-C Receptacle).
Заглянем внутрь полнофункциональной «мамы» — там расположена
двухсторонняя площадка с 24 контактами, которые делятся на несколько
контактных групп:
A1, A12 и B1, B2 — «земля», расположены симметрично;
A4, A9 и B4, B9 — питание, расположены симметрично;
A6, A7 и B6, B7 — пара пинов для передачи данных по USB 2.0, на обратной стороне расположены зеркально;
A2,
A3, A10, A11 и B2, B3, B10, B11 — две пары пинов для высокоскоростной
передачи данных по USB 3.2 и USB4, а также альтернативного режима.
Каждая пара пинов образует канал (lane). На обратной стороне каналы
имеют зеркальное расположение;
A5 и B5 — зеркально расположенные управляющие контакты;
A8
и B8 — зеркально расположенные вспомогательные контакты, используемые
для передачи нестандартных сигналов, например, звуковых в альтернативном
режиме.
В гнезде, поддерживающем только USB 2.0, на усмотрение производителя разрешается не разводить контакты высокоскоростных каналов.
Кстати,
в подавляющем большинстве смартфонов порт USB-C только с 2.0. Например,
на борту Honor 20 как раз такой «урезанный» разъем, а у старшего брата
Huawei P30 уже полнофункциональный.
Штекер существует уже в трех разновидностях (это мы еще до кабелей не дошли):
полнофункциональный (Full-Featured Type-C Plug);
кабель USB 2.0 (USB 2.0 Type-C Plug);
только для питания (Type-C Power-Only Plug).
Полнофункциональный штекер содержит минимум 22 контакта:
Часто
пины B6 и B7 отсутствуют, поскольку для USB 2.0 достаточно одной
контактной пары, а в гнезде они имеются на обеих сторонах. Один из
управляющих пинов меняет свое назначение и называется Vconn. Он
используется для питания специального чипа электронной маркировки.
В
штекере USB 2.0 Type-C отсутствуют пины высокоскоростных каналов и
нестандартных сигналов (SBU1 и SBU2). Таким образом, остается минимум в
12 контактов.
Штекер типа «Power Only» встречается в природе
нечасто и содержит девять обязательных пинов (A1, A4, A5, A9, A12, B1,
B4, B9, B12). Наличие остальных — опционально.
Как штекер с гнездом разговаривали. Конфигурация соединения
При
осуществлении контакта запускается процесс конфигурации. Он происходит
на управляющих пинах (CC1 И СС2) и состоит из нескольких этапов,
включающих в себя:
определение источника питания и потребителя;
определение ориентации штекера;
определение ролей хоста и девайса;
коммуникация по протоколу USB Power Delivery (USB PD);
определение профиля питания;
настройка работы в альтернативном режиме (если требуется).
Протокол
взаимодействия — USB PD. Именно он отвечает за альтернативные режимы и
корректный выбор схемы питания устройств, о которых более подробно
сказано в следующем разделе.
Неопознанные коаксиальные объекты
Оказывается,
запутаться в кабелях можно, даже если он всего один и, к тому же,
универсальный. Большинство критики USB-C связано именно с проводами и
идентификацией их при покупке. Несколько важных критериев для упрощения
этой задачи.
Согласно спецификации существует четыре типа кабелей:
полнофункциональный (Full-Featured Type-C Cable) — на обоих концах полнофункциональные штекеры;
USB 2.0 (USB 2.0 Type-C Cable) — на обоих концах штекеры с поддержкой только USB 2.0;
интегрированный
(Captive cable) — на одном конце один из видов штекеров USB-C, а другой
конец является несъемной частью устройства, например, зарядного;
активный (Active cable) — на обоих концах полнофункциональные штекеры.
Вдобавок ко всему есть еще Thunderbolt3 (TBT3). Это отдельная
история, выходящая за рамки данного материала. Просто отметим, что такие
кабели маркируются обособленно «Thunderbolt3», а с обеих сторон
используются штекеры типа Full-Featured. Более ясной картина должна
стать, когда в боевой режим переведут стандарт USB4, включающий TBT3 в
альтернативном режиме.
Первое, на что стоит обратить внимание при выборе это
поддерживаемый стандарт. Если кабель планируется активно использовать
для передачи данных, а тем более для подключения монитора, то убедитесь,
что он полнофункциональный. Это нетривиальная задача, поскольку далеко
не все производители указывают данную характеристику в документации (при
наличии таковой).
Вот пример отличного кабеля, который поддерживает только USB 2.0:
В
данном случае производитель известный и дорожит своим именем, поэтому
на сайте хоть и не сразу, но можно найти, что максимальная скорость —
480 Мбит/с. Подобных кабелей на рынке много.
Если информация по кабелю отсутствует, но есть возможность его
визуально оценить, то присмотритесь к штекеру. В полнофункциональном
штекере должно быть минимум 22 или 24 контакта. В разъеме USB 2.0 такого
не будет, он улыбнется вам немного беззубо:
Второй
слон, на котором держится мироздание USB-C, это уровень поддерживаемой
мощности. Причем изменяться может и ток, и напряжение: кабель USB Type-C
должен заряжать не только смартфоны и планшеты, но и ноутбуки и даже
мониторы. Рабочее напряжение типичного зарядника ноутбука лежит в
диапазоне 17–20В, а монитору порой и все 100Вт подавай! Вот и приходится
USB-C наряду с поддержкой тока до 5А расширять границы поддерживаемого
напряжения до 20В.
А как же не сжечь любимый планшет, спросите вы?
Разруливает это все тот же протокол USB PD посредством переключения
профилей питания. После установления соединения устройства пытаются
договориться, кто сколько может и кому сколько надо. Для безопасности
«разговор» начнется с напряжения 5В.
Есть
четыре уровня: 7.5Вт, 15Вт, 27Вт и 45Вт. Для каждого из них своя
конфигурация напряжения и тока. Например, для 15Вт доступны варианты с
5В и 9В, а для мощности свыше 45Вт добавляются 15В и 20В.
Кабели ранжируются по силе тока, на которую они рассчитаны. Есть три
варианта: 1.5А, 3А и 5А. Всегда обращайте внимание на этот параметр! Не
допускается подключение монитора кабелем менее 5А.
Третья значимая характеристика кабеля — его длина. Ниже
таблица по рекомендованной длине пассивных кабелей. Активные кабели
содержат дополнительные трансмиттеры для обеспечения передачи сигнала.
Не сопротивляйтесь — постарайтесь получить удовольствие
Действительно,
разобраться со всеми нюансами USB-C не просто. Но это будущее стандарта
USB, которое уже наступило. Нужно использовать его лучшие фичи.
Проверяйте характеристики и совместимость подключаемых устройств и
кабелей, к последним особое внимание. И тогда сила точно пребудет с
вами.
Некоторое время назад коллеги предоставили мне доступ к полной англоязычной версии системы искусственного интеллекта GPT-3 от OpenAI — компании сооснователь которой в том числе Илон Маск. Эта версия GPT-3 считается самой сложной на сегодняшний день компьютерной моделью, способной общаться с людьми и создавать собственные тексты. Доступ к системе дают не всем — только по заявкам или партнерам Open AI. Так что, если удаётся пообщаться с GPT-3 — это редкая удача. И почти каждый раз — это событие.
Так что возникает резонный вопрос: есть ли от таких систем, синтезирующих мысли, какая-то практическая польза? Коллеги, которые предоставили мне к ней доступ, предположили, что, возможно, искусственный интеллект предложит новые интересные гипотезы о причинах нашего старения — нерешенный человечеством научный вопрос, который касается каждого. И к такой идее я отнесся скептически.
Так что мы поговорили с GPT-3.
В
рамках уже третьей за эту осень презентации Apple открыла новую главу в
истории фирменных компьютеров Mac. Компания представила свой первый
ARM-процессор, разработанный специально для ноутбуков. Он создан по тому
же принципу, что и чипы в iPhone и iPad. Apple M1 заявлен как самый
мощный чип в своём классе.
Apple M1 стал первым компьютерным
процессором, созданным по передовому 5-нанометровому техпроцессу.
Компании удалось разместить на чипе 16 миллиардов транзисторов. Перед
инженерами Apple стояла задача добиться не только выдающейся
производительности, но и энергоэффективности.
В состав Apple M1 входит восьмиядерный
центральный процессор с четырьмя высокопроизводительными и четырьмя
энергоэффективными ядрами. Apple уверяет, что это самый
быстрый десктопный CPU, превосходящий последние мобильные процессоры
конкурентов по производительности на ватт. Так, при потреблении 10
Вт Apple M1 мощнее конкурентов в два раза.
Помимо CPU, внутри Apple M1
располагается восьмиядерный GPU, мощность которого составляет
внушительные 2,6 терафлопса. По сравнению с интегрированной графикой в
ноутбуках других компаний Apple M1 выдаёт вдвое большую
производительность при потреблении 10 Вт. По словам Apple, это самая
быстрая интегрированная графика в мире.
Apple объявила, что ключевые
разработчики вроде Adobe уже внедрили поддержку Apple M1 в
свои программы или работают над этим. Более того, использование
ARM-процессора позволяет запускать на компьютерах Mac
любые iOS-приложения.
Когда в техническом вузе преподаватель заставляет студентов писать конспекты от руки, получается что-то вот такое:
Это – результат работы программы, генерирующей рукописный текст
пользовательским почерком. Она может менять толщину пера и цвет пасты,
писать буквы слитно или раздельно, поддерживает письмо на множестве
разных языков и потенциально способна переносить слова по слогам на
многих из них. Написано на C++/Qt, есть версии под Windows и Linux.
Дальше будет небольшой разбор рукописного письма, описание разных
способов его имитации, разбор наиболее интересных моментов работы
программы и ссылка на репозиторий.
Почему программная генерация индивидуального рукописного письма – это сложно?
Дело в том, что рукописное письмо очень изменчиво, здесь нет такой
жёсткой предопределённости, как при печати. Для правдоподобной имитации
рукописного письма надо учитывать как минимум вот такие его особенности:
Начертание букв зависит от того, какие буквы стоят рядом
Для каждого символа добавляются рандомные и не очень искажения,
из-за чего абсолютно идентичные символы в тексте обычно не встречаются.
Слова могут быть написаны слитно или раздельно. Также можно совмещать оба варианта написания.
Меняются ширина, высота и наклон, как у символов, так и у строк.
На всё это влияет манера письма, вид письменной принадлежности,
подложка, скорость письма, преобладающая рука, настроение и самочувствие
писца и ещё куча всего. То есть нужно не просто учитывать огромную кучу
факторов, но и позволить пользователю программы настраивать их по
своему усмотрению.
Как это обычно делают?
На практике учитывать всё это редко когда бывает нужно. Например, для
маленькой рукописной распечатки на открытке или приглашении используют
обычный рукописный шрифт OpenType. Впрочем, в определённых условиях это
может подойти и для конспекта. В сети можно найтиинструкции,
как создать индивидуальный шрифт самостоятельно и печатать им из MS
Word, а для англоязычных пользователей существуют целые генераторы
рукописных шрифтов.
Но при таком способе страдает правдоподобность: символы будут
абсолютно одинаковыми, строки безупречно ровными. Не будет никакой
случайности, вырвиглазности и хаоса, которые по моему опыту характерны
для подавляющего большинства конспектов, и даже для аккуратного
конспекта такая безупречность неестественна.
А как сделать лучше?
Основная идея такая: берём печатный текст, для каждого символа берём рукописный глиф
и размещаем его на виртуальном листе бумаги в нужное место. При этом
для одного и того же символа глифов должно быть несколько, а конкретный
должен выбираться случайным образом, иначе будут те же проблемы, что и у
шрифтов OpenType. Потом уже можно будет вносить различные искажения как
на весь лист бумаги, так и для отдельной строки или символа. Вероятно,
можно будет искажать глифы таким образом, чтобы из одного введённого
глифа получить сразу готовый набор.
Всё то же самое можно делать и с лигатурами
и, соответственно, сочетаниями символов, чтобы учитывать влияние рядом
стоящих букв друг на друга. Спойлер: к сожалению, моя программа не
поддерживает лигатуры и не может вносить искажения в глифы.
Я не первый, кто решил, что программная генерация — это хорошая идея,
и написал свою программу для создания рукописей. Мне известны программы
Синяк и Handwriter, а также сервис Писец.
У них, тем не менее, есть определённые недостатки, которые сподвигли
меня на написание собственной программы: у Синяка, например, лишь один
глиф на символ и некоторые проблемы с юзабилити, Handwriter платный, а
Писец не позволяет создать свой шрифт.
Векторный или растровый шрифт?
Раз мы говорим об индивидуальном письме, надо предусмотреть
возможность забить в программу свои глифы. Достаточно очевидное решение —
дать пользователю возможность распечатать шаблон для заполнения и затем
брать глифы со скана заполненного шаблона. Однако для этого нужно
решить следующие задачи:
Очистить шаблон от шума
Распознать специальные метки на шаблоне, чтобы понять, к какому символу какие глифы
Вырезать каждый глиф из фона
Сложность не в том, чтобы просто сделать это, а в том, чтобы сделать
это качественно для бесчисленного множества сканеров с разными
характеристиками, параметрами сканирования и разной бумагой. Я решил,
что мне не стоит браться за такую объёмную задачу.
Так что в моей программе используется векторная графика. Алгоритм
создания шрифта теперь такой: пользователь открывает его любимый
векторный редактор, рисует нужные глифы (желательно с помощью планшета),
сохраняет их, а потом загружает в программу. Минусы у такого решения
следующие:
Можно забыть об имитации вообще любых письменных принадлежностей, в
том числе шариковых ручек. Теперь текст как будто написан капиллярной
ручкой, и я не вижу способа это изменить.
Время на создание полного комплекта глифов увеличивается в несколько
раз по сравнению со временем заполнения бумажного шаблона, а это осилит
не каждый.
Графические планшеты у среднего пользователя встречаются намного
реже, чем сканеры, что ещё сильнее уменьшает потенциальную аудиторию.
Но появляются разные бонусы:
Можно легко и без побочных эффектов менять цвет пасты, толщину пера и размер глифов.
Можно скруглять и сглаживать углы и концы линий.
Соединительные линии для имитации слитного написания выглядят точно так же, как линии букв.
Качество печати теперь зависит только лишь от принтера.
Можно частично автоматизировать создание собственного шрифта.
Размещение символов на листе
Символы бывают разными: одни располагаются строго в пределах строки,
другие выступают за её край, третьи лежат на верхней или нижней границе.
Выступающие части символов при этом могут находиться над рядом стоящими
символами или под ними. Поэтому для корректного размещения символа
нужно знать, какая его часть будет находиться в пределах строки и как
относительно него нужно располагать другие символы.
Жёлтый прямоугольник – как раз та часть символа, которая находится в пределах строки
В редакторе шрифтов как раз можно задать положение символа
относительно строки и других символов, указывая границы символа жёлтой
рамкой. А ещё тут, разумеется, ставятся в соответствие символы и
конкретные глифы.
Данные для слитного написания
Помимо жёлтой рамки в редакторе шрифтов заметны ещё и два круглых
указателя. Это – точки, куда будут приходить соединительные линии от
соседних букв. Да, для слитного написания слова находящиеся рядом буквы
просто соединяются прямыми линиями. По идее, лучше было бы использовать
сплайны, но если писать буквы без длинных хвостиков, учитывая, что
программа будет рисовать хвостики за пользователя, в глаза это бросаться
не будет.
Частичная автоматизация создания шрифта
Указывать всё это вручную для каждого символа – застрелиться можно. Надо как-то упростить процесс создания своего шрифта.
Во-первых, есть автоматическая загрузка глифов. При сохранении глифа
из любимого векторного редактора достаточно назвать файл по
определённому шаблону, и программа отнесёт его к нужному символу. Шаблон
такой: сам символ, затем, если нужно, номер; можно разделить их нижним
подчёркиванием. И, поскольку Windows не видит большой разницы между
заглавными и строчными буквами, для заглавных нужно добавить префикс
«UP_». Правда, такой трюк работает не со всеми символами, т.к. далеко не
всё можно использовать в имени файла, поэтому вместо запрещённых
символов можно писать их название.
Во-вторых, при слитном написании соединительная линия, как правило,
входит в начало первой линии буквы, а выходит из конца последней линии.
Поскольку, как правило, векторные редакторы сохраняют информацию о
линиях в той последовательности, в которой линии были нарисованы, мы
знаем, какая линия была нарисована первой, а какая – последней. То есть
большую часть работы по расстановке круглых указателей может взять на
себя программа. И берёт.
И в-третьих, указывать жёлтый прямоугольник программа тоже может
сама, просто поставив его по границам глифа. Это часто неправильно, но
хоть какой-то процент правильно поставленных данных уже облегчит жизнь
пользователю.
Перенос слов по слогам
Чтобы правильно разбить слова на слоги используется алгоритм П.
Христова в модификации Дымченко и Варсанофьева. Если коротко: с помощью
регулярных выражений описываются две группы букв, между которыми должен
располагаться дефис. Затем конкретное слово с помощью последовательного
применения этих правил разбивается на слоги, выбирается ближайший к краю
дефис и вся правая от дефиса часть слова переносится на новую строку.
Такие правила уже есть для русского языка. Они не идеально точные, но
якобы покрывают 99% всех переносов. Также, полагаю, их можно
разработать и для некоторых других языков. Но не для всех. Например, в
английском для переноса слов по слогам потребуется куда более сложный
алгоритм, т.к. слова переносятся по звучанию, а не по написанию.
Вот так выглядят правила для русского языка:
«Х-ЛЛ»
«Г-ГЛ»
«ГС-СГ»
«СГ-СГ»
«ГС-ССГ»
«ГСС-ССГ»
Здесь Л – любая буква, Г – гласная, С – согласная, Х – буква из
набора «йьъ». Чтобы предоставить пользователям возможность изменять
правила, не модифицируя исходный код, я вынес их в отдельный файл:
Я позволил себе несколько модифицировать оригинальные правила, чтобы не допустить отрыва одной буквы от слова.
Прочие возможности
Векторная графика даёт возможность изменять параметры линий, в
частности, скруглять их края и сглаживать углы, так почему бы этим не
воспользоваться? Кроме того, не вижу причин как-то ограничивать
пользователя в возможности настроить параметры листа и шрифта. Примерное
представление об основных настройках можно получить, посмотрев на
скриншот:
Из-за простой технической ошибки в Excel британский здравоохранительный орган потерял данные тестов на коронавирус
Британский здравоохранительный орган Public Health England (PHE)
потерял данные 16 000 тестов на коронавирус из-за простой технической
ошибки. Об этом сообщается на официальном сайте PHE, пишет ain.ua.
Из-за технической ошибки, которую сейчас уже устранили, результаты
тестов с 25 сентября по 2 октября 2020 года не включалась в отчеты по
количеству заболевших коронавирусом. Всего это коснулось 15 841 случаев.
Это привело к тому, что система здравоохранения не смогла
предупредить людей о том, что они контактировали с носителями вируса. В
PHE не рассказывают, в чем заключалась техническая ошибка. Однако, по
данным СМИ, PHE собирала данные по результатам тестов из различных
источников (лабораторий), в виде файлов CSV, которые автоматически
подгружались в таблицы Excel.
Проблема, могла быть в том, что IT-специалисты PHE использовали
старый формат таблиц (.xls). Он поддерживает около 65 500 строк в листе
(по сравнению с новым форматом, который поддерживает более 1 млн строк).
Каждый кейс с результатами теста занимал несколько строк данных. И
когда место закончилось, данные просто перестали добавляться.
В PHE тем временем сообщают, что ошибку устранили и базы обновляются корректно.
Это называют первым шагом к практическому применению таких компьютеров
Исследователи
Google смоделировали химическую реакцию на квантовом компьютере. Они
утверждают, что это первый шаг к практическому применению таких
компьютеров.
Исследователи смоделировали
молекулу диимида, состоящую из двух атомов азота и двух атомов
водорода. В ходе реакции атомы водорода объединяются в различные
конфигурации вокруг азотистых соединений.
Что
важно, результат моделирования на квантовом компьютере согласуется с
результатами моделирования на классических компьютерах. Сообщается, что
моделирование было выполнено на 12 кубитах (кубит — наименьший элемент
для хранения информации в квантовом компьютере).
Исследователи
отметили, что процесс поддаётся масштабированию. Чтобы моделировать
реакции в больших молекулах, нужно лишь использовать больше кубитов и
ввести небольшие дополнительные настройки для расчёта.
В будущем учёные надеются создавать новые химические вещества с помощью квантового моделирования.
За
последнее время Microsoft несколько раз продлевала поддержку тех или
других старых версий ОС Windows 10 в связи с пандемией COVID-19. И вот
сейчас компания приняла еще одно такое решение в отношении ОС Windows 10
версии 1803, продлив ее поддержку еще на шесть месяцев. Об этом
сообщается в официальном блоге компании. Напомним,
актуальная версия Windows 10 — 2004 (или Windows 10 May 2020 Update).
Обновление вышло в мае этого года и показало весьма хорошие темпы
распространения, несмотря на многочисленные проблемы и ошибки. По
состоянию на начало августа «2004» была третьей по распространенности
версией Windows 10 с долей в 11,6%.
Что же касается Windows 10
(1803), это довольно старая версия под названием Windows 10 April 2018
Update. Ее релиз состоялся 30 апреля 2018 года. И Microsoft,
придерживаясь собственного графика, на самом деле прекратила поддержку
Windows 10 версии 1803 еще в ноябре прошлого года, но только версий Home
и Pro. Поддержка версий Enterprise и Education была продлена еще на
один год — до 10 ноября 2020 года. С этим продлением Windows 10 версии
1803 будет оставаться актуальной и получать обновления вплоть до 11 мая
2021 года. Как раз в этот день заканчивается поддержка Windows 10 версии
1809, которая на год новее 1803.
Но еще интереснее то, что
теперь срок поддержки 1803 больше, чем у 1903, которая на год новее и на
текущий момент является самой популярной версией программной платформы с
долей 43,6%. Это связано с тем, что до выхода 1809 стандартный срок
поддержки для корпоративных и образовательных версий Enterprise и
Education составлял 30 месяцев, но начиная с версии 1903 первое
обновление каждого года получает поддержку только в течение 18 месяцев. В
случае 1903 поддержка завершается 8 декабря 2020 года. Но, возможно,
Microsoft в итоге продлит срок поддержи и для нее.
В этом году
Microsoft уже расширила поддержку Windows 10 версии 1709 для
пользователей Enterprise и Education — до 13 октября 2020 года. Также
была продлена поддержка версии 1809 для пользователей Home и Pro — до 10
ноября 2020 года.
вторник, 7 июля 2020 г.
Microsoft и OpenAI показали ИИ, который автоматически генерирует код Python по комментариям
Технический директор Microsoft Кевин Скотт и генеральный директор OpenAI Сэм Альтман показали пример автоматического создания кода на Python.
Для этого они создали модель искусственного интеллекта, который работает на алгоритме OpenAI GPT-3. Именно этот алгоритм способен выполнять задания по написанию текста по примерам типа стихов или перевода текстов.
Для начала программист на естественном языке пишет комментарий с описанием задач для кода, а искусственный интеллект уже автоматически генерирует его.
Естественно, какие-то куски кода сгенерированы не очень корректно, поэтому программист может просто переписать комментарий или дополнить его так, чтобы ИИ точно понял, что конкретно требуется сделать.
Модель ИИ обучили на репозиториях GitHub с использованием облачного суперкомпьютера Microsoft. Она умеет использовать англоязычные комментарии и сигнатуры функций.
В течение долгих лет перфокарты служили
основными носителями для хранения и обработки информации. В нашем
сознании перфокарта твердо ассоциируется с компьютером,занимающим целую комнату,и с героическим советским ученым,совершающим прорыв в науке. Перфокарты — предки дискет,дисков,винчестеров,флеш-памяти. Но появились они вовсе не с изобретением первых компьютеров,а гораздо раньше,в самом начале XIX века…
Станок
Фалькона Жан-Батист Фалькон создал свою машину на основе первого
подобного станка конструкции Базиля Бушона. Он первым придумал систему
картонных перфокарт, связанных в цепь.
12 апреля 1805 года император Наполеон Бонапарт с супругой посетили Лион. Крупнейший в стране центр ткачества в XVI—XVIII веках
изрядно пострадал от Революции и пребывал в плачевном состоянии.
Большинство мануфактур разорились, производство стояло, а международный
рынок все больше заполнял английский текстиль. Желая поддержать лионских
мастеров, в 1804 году Наполеон разместил здесь крупный заказ на сукно,
а годом позже прибыл в город лично. В ходе визита император посетил
мастерскую некоего Жозефа Жаккара, изобретателя, где императору
продемонстрировали удивительную машину. Установленная поверх
обыкновенного ткацкого станка громада позвякивала длинной лентой
из дырчатых жестяных пластин, а из станка тянулось, накручиваясь на вал,
шелковое полотно с изысканнейшим узором. При этом никакого мастера
не требовалось: машина работала сама по себе, а обслуживать ее, как
объяснили императору, вполне мог даже подмастерье.
1728. Станок Фалькона. Жан-Батист
Фалькон создал свою машину на основе первого подобного станка
конструкции Базиля Бушона. Он первым придумал систему картонных
перфокарт, связанных в цепь. Наполеону машина понравилась. Несколькими днями позже
он распорядился передать патент Жаккара на ткацкую машину в общественное
пользование, самому же изобретателю положить ежегодную пенсию в 3000
франков и право получать небольшое, в 50 франков, отчисление с каждого
станка во Франции, на котором стояла его машина. Впрочем, в итоге это
отчисление сложилось в весомую сумму — к 1812 году новым приспособлением
было оборудовано 18000 ткацких станков, а в 1825-го — уже 30000.
Изобретатель прожил остаток дней в достатке, умер он в 1834 году,
а шесть лет спустя благодарные горожане Лиона поставили Жаккару памятник
на том самом месте, где когда-то была его мастерская. Жаккарова (или,
в старой транскрипции, «жаккардова») машина была важным кирпичиком
в фундаменте промышленной революции, не менее важным, чем железная
дорога или паровой котел. Но не все в этой истории просто и безоблачно.
Например, «благодарные» лионцы, впоследствии почтившие Жаккара
памятником, сломали его первый незаконченный станок и несколько раз
покушались на его жизнь. Да и машину, если говорить по правде, изобрел
вовсе не он. 1900. Ткацкий цех. Этот снимок сделан
более века назад в заводском цеху ткацкой фабрики города Дарвела
(Восточный Эйршир, Шотландия). Многие ткацкие цеха выглядят так и по сей
день — не потому что хозяева фабрик жалеют средства на модернизацию,
а потому что жаккардовы станки тех лет по‑прежнему остаются наиболее
универсальными и удобными.
Как работала машина
Для понимания революционной новизны изобретения необходимо в общих
чертах представлять принцип работы ткацкого станка. Если рассмотреть
ткань, можно увидеть, что она состоит из плотно переплетенных продольных
и поперечных нитей. В процессе изготовления продольные нити (основа)
протягиваются вдоль станка; половина из них через одну крепятся
к рамке-«ремизке», другая половина — к другой такой же рамке. Эти две
рамки перемещаются вверх-вниз друг относительно друг друга, разводя нити
основы, и в образовавшийся зев туда-сюда снует челнок, тянущий
поперечную нить (уток). В результате получается простейшее полотно
с нитями, переплетенными через одну. Рамок-ремизок может быть больше
двух, и двигаться они могут в сложной последовательности, поднимая или
опуская нити группами, отчего на поверхности ткани образуется узор.
Но количество рамок все равно невелико, редко когда бывает больше 32,
поэтому узор получается простым, регулярно повторяющимся.
На жаккардовом станке рамок нет вообще. Каждая нить может
перемещаться отдельно от других с помощью цепляющего ее стержня
с кольцом. Поэтому на полотне можно выткать узор любой степени
сложности, даже картину. Последовательность движения нитей задается
с помощью длинной зацикленной ленты перфокарт, каждая карта
соответствует одному проходу челнока. Карта прижимается к"считывающим"
проволочным щупам, часть из них уходит в отверстия и остается
неподвижной, остальные утапливаются картой вниз. Щупы связаны
со стержнями, управляющими движением нитей.
Сложноузорчатые холсты умели ткать и до Жаккара, но это было
по силам только лучшим мастерам, и работа была адская. Внутрь станка
забирался работник-дергальщик и по команде мастера вручную поднимал или
опускал отдельные нити основы, количество которых иногда исчислялось
сотнями. Процесс был очень медленным, требовал постоянно
сосредоточенного внимания, и неизбежно случались ошибки. Кроме того,
переоснащение станка с одного сложноузорчатого холста на другую работу
растягивалось иногда на многие дни. Станок Жаккара делал работу быстро,
без ошибок — и сам. Единственным трудным делом теперь было набивать
перфокарты. На производство одного комплекта уходили недели, зато
однажды изготовленные карты могли использоваться снова и снова.
Предшественники
Как уже говорилось, «умный станок» придумал не Жаккар — он лишь
доработал изобретения своих предшественников. В 1725 году, за четверть
века до рождения Жозефа Жаккара, первое подобное устройство создал
лионский ткач Базиль Бушон. Станок Бушона управлялся перфорированной
бумажной лентой, где каждому проходу челнока соответствовал один ряд
отверстий. Однако отверстий было мало, поэтому устройство меняло
положение лишь небольшого числа отдельных нитей.
Следующего изобретателя, пытавшегося усовершенствовать ткацкий
станок, звали Жан-Батист Фалькон. Он заменил ленту небольшими листами
картона, связанными за углы в цепь; на каждом листе отверстия
располагались уже в несколько рядов и могли управлять большим числом
нитей. Станок Фалькона оказался успешнее предыдущего, и хотя
он не получил широкого распространения, в течение жизни мастер успел
продать около 40 экземпляров.
Третьим, кто взялся доводить ткацкий станок до ума, был изобретатель
Жак де Вокансон, который в 1741 году был назначен инспектором
шелкоткацких мануфактур. Вокансон работал над своей машиной много лет,
однако его изобретение не имело успеха: слишком сложное и дорогое
в изготовлении устройство по‑прежнему могло управлять относительно
небольшим числом нитей, и ткань с незамысловатым узором не окупала
стоимости оборудования. 1841. Ткацкая мастерская Каркилля.
Тканый рисунок (сделан в 1844 году) изображает сцену, произошедшую
24 августа 1841 года. Месье Каркилля, владелец мастерской, дарит герцогу
д’Омалю полотно с портретом Жозефа Мари Жаккара, вытканное таким же
образом в 1839 году. Тонкость работы невероятна: детали мельче, чем
на гравюрах.
Удачи и неудачи Жозефа Жаккара
Жозеф Мари Жаккар родился в 1752 году в предместье Лиона в семье
потомственных канутов — ткачей, работавших с шелком. Он был обучен всем
премудростям ремесла, помогал отцу в мастерской и после смерти родителя
унаследовал дело, однако ткачеством занялся далеко не сразу. Жозеф успел
сменить множество профессий, был судим за долги, женился, а после осады
Лиона ушел солдатом с революционной армией, взяв с собой
шестнадцатилетнего сына. И лишь после того как сын погиб в одном
из сражений, Жаккар решил вернуться к фамильному делу.
Он возвратился в Лион и открыл ткацкую мастерскую. Однако бизнес был
не слишком успешен, и Жаккар увлекся изобретательством. Он решил
сделать машину, которая превзошла бы творения Бушона и Фалькона, была бы
достаточно простой и дешевой и при этом могла делать шелковое полотно,
не уступающее по качеству сотканному вручную. Поначалу конструкции,
выходившие из-под его рук, были не слишком удачными. Первая машина
Жаккара, которая заработала как надо, делала не шелк, а… рыбацкие сети.
В газете он прочел, что английское Королевское общество поддержки
искусств объявило конкурс на изготовление такого приспособления. Награду
от британцев он так и не получил, однако его детищем заинтересовались
во Франции и даже пригласили на промышленную выставку в Париж. Это была
знаковая поездка. Во‑первых, на Жаккара обратили внимание, он обзавелся
нужными связями и даже раздобыл денег на дальнейшие изыскания,
а во-вторых, он посетил Музей искусств и ремесел, где стоял ткацкий
станок Жака де Вокансона. Жаккар увидел его, и недостающие детали встали
на свои места в его воображении: он понял, как должна работать его
машина.
Своими разработками Жаккар привлек к себе внимание не только
парижских академиков. Лионские ткачи быстро смекнули, какую угрозу таит
в себе новое изобретение. В Лионе, население которого к началу XIX века
едва ли насчитывало 100000, в ткацкой промышленности работало более
30000 человек — то есть каждый третий житель города был если
не мастером, то работником или подмастерьем при ткацкой мастерской.
Попытка упростить процесс изготовления тканей лишила бы многих работы.
Невероятная точность станка Жаккара
Известная картина «Визит герцога д’Омаля в ткацкую мастерскую
господина Каркилля» — вовсе не гравюра, как может показаться, — рисунок
полностью выткан на станке, оборудованном жаккардовой машиной. Размер
холста — 109 х 87 см, работу выполнил, собственно, мастер Мишель-Мари
Каркилля для фирмы «Дидье, Пти и Си». Процесс mis en carte — или
программирования изображения на перфокартах — длился много месяцев,
причем занимались этим несколько человек, а само изготовление полотна
заняло 8 часов. Лента из 24.000 (более 1000 двоичных ячеек на каждой)
перфокарт была длиной в милю. Картину воспроизводили только
по специальным заказам, известно о нескольких полотнах подобного типа,
хранящихся в разных музеях мира. А один вытканный таким образом портрет
Жаккара заказал себе декан кафедры математики Кембриджского университета
Чарльз Бэббидж. К слову, герцог д’Омаль, изображённый на полотне —
не кто иной как младший сын последнего короля Франции Луи-Филиппа I.
В итоге одним прекрасным утром в мастерскую Жаккара пришла толпа
и сломала все то, что он строил. Самому изобретателю строго наказали
оставить недоброе и заняться ремеслом, по примеру покойного отца.
Вопреки увещеваниям братьев по цеху Жаккар не бросил своих изысканий,
однако теперь ему приходилось работать скрытно, и следующую машину
он закончил только к 1804 году. Жаккар получил патент и даже медаль,
однако самостоятельно торговать «умными» станками остерегся и по совету
негоцианта Габриэля Детилле нижайше просил императора передать
изобретение в общественную собственность города Лиона. Император
удовлетворил просьбу, а изобретателя наградил. Окончание истории вам
известно.
Эпоха перфокарт
Сам принцип жаккардовой машины — возможность менять
последовательность работы станка, загружая в него новые карты — был
революционным. Сейчас мы называем это словом «программирование».
Очередность действий для жаккардовой машины задавалась двоичной
последовательностью: есть отверстие — нет отверстия. 1824. Разностная машина. Бэббиджа
Первый опыт постройки Чарльзом Бэббиджем аналитической машины был
неудачным. Громоздкое механическое устройство, представляющее собой
совокупность валов и шестерней, вычисляло довольно точно, но требовало
слишком сложного обслуживания и высокой квалификации оператора.
Вскоре после того как жаккардова машина получила широкое
распространение, перфорированные карты (а также перфорированные ленты
и диски) стали применять в разнообразных устройствах.
Челночный станок
На начало XIX века основным видом автоматического ткацкого
устройства был челночный станок. Устроен он был довольно просто:
вертикально натягивались нити основы, а пулеобразный челнок летал между
ними туда и обратно, протаскивая через основу поперечную (уточную) нить.
Испокон веков челнок протаскивался руками, в XVIII веке этот процесс
был автоматизирован; челнок «выстреливался» с одной стороны, принимался
другой, разворачивался — и процесс повторялся. Зев (расстояние между
нитями основы) для пролета челнока обеспечивался с помощью бердо —
ткацкого гребня, который отделял одну часть нитей основы от другой
и приподнимал ее.
Но, пожалуй, самое известное из таких изобретений- и самое знаковое
на пути от ткацкого станка к компьютеру- это «аналитическая машина»
Чарльза Бэббиджа. В 1834 году Бэббидж, математик, вдохновленный опытом
Жаккара с перфокартами, начал работу над автоматическим устройством
для выполнения широкого спектра математических задач. До этого он имел
неудачный опыт постройки «разностной машины», громоздкого 14-тонного
чудовища, заполненного шестеренками; принцип обработки цифровых данных
с помощью шестеренок использовался со времен Паскаля, и вот теперь
на смену им должны были прийти перфокарты. 1890. Табулятор Холлерита. Табулирующая
машина Германа Холлерита была построена для обработки результатов
всеамериканской переписи населения 1890 года. Но оказалось, что
возможности машины выходят далеко за рамки поставленной задачи.
В аналитической машине присутствовало все, что есть в современном
компьютере: процессор для выполнения математических операций
(«мельница»), память («склад»), где хранились значения переменных
и промежуточные результаты операций, было центральное управляющее
устройство, которое также выполняло функции ввода-вывода.
В аналитической машине должны были использоваться перфокарты двух типов:
большого формата, для хранения чисел, и поменьше — программные. Бэббидж
работал над своим изобретением 17 лет, но так и не смог его закончить —
не хватило денег. Действующую модель «аналитической машины» Бэббиджа
построили только в 1906 году, поэтому непосредственным предшественником
компьютеров стала не она, а устройства, называемые табуляторами.
Табулятор — это машина для обработки больших объемов статистической
информации, текстовой и цифровой; информация вводилась в табулятор
при помощи огромного количества перфокарт. Первые табуляторы были
разработаны и созданы для нужд американского офиса переписи населения,
но вскоре их использовали уже для решения самых разных задач. С самого
начала одним из лидеров в этой сфере стала компания Германа Холлерита,
человека, который изобрел и изготовил в 1890 году первую электронную
табулирующую машину. В 1924 году компания Холлерита была переименована
в IBM.
Когда на смену табуляторам пришли первые ЭВМ, принцип управления
с помощью перфокарт сохранился и здесь. Куда удобнее было загружать
в машину данные и программы с помощью карточек, нежели переключая
многочисленные тумблеры. Кое-где перфокарты используются и по сей день.
Таким образом, почти 200 лет главным языком, на котором человек общался
с «умными» машинами, оставался язык перфокарт.