Скорость интернета измерить онлайн яндекс: Измерить скорость интернета — Яндекс.Интернетометр. Справка
Содержание
Как измерить скорость интернета онлайн (Яндекс, SpeedTest, 2IP) и программой
Привет читатели seoslim.ru! Заявленная провайдерами скорость интернета в реальности часто оказывается существенно ниже, что вызывает ряд вопросов.
Почему передача данных происходит медленнее, чем указано в описании тарифа? Кто виноват и что делать?
Содержание:
Как подготовиться к тесту, что такое пинг
Популярные сервисы проверки скорости
— Speedtest.net
— Яндекса.Интернетометр
— 2ip
— Pr-cy.ru
Программы для компьютера
— Speedtest
— uTorrent
На скорость интернет-трафика влияет целый комплекс разноплановых факторов.
- Мощность и быстродействие компьютера.
- Настройки операционной системы и интернет-коннекта.
- Погодные условия.
- Активность пользователей.
Для корректного определения причин снижения трафика и исправления проблемы требуется первым делом выяснить – какова реальная скорость сети? Этим и займемся далее.
Подготовка к тесту, показатель пинг
Серьезные исследователи начинают подготовку к экспериментам с определения значимых параметров изучаемого явления, что важно выяснить для полноценного решения практической задачи. Так что давайте разберемся с базовыми понятиями.
Скорость интернета (пропускная способность канала передачи данных) – объем данных, полученных компьютером либо переданных в Сеть.
Измеряется в килобитах или мегабитах в секунду (Кб/сек, Кбит/сек, – kbps, kbit/s или kb/s; Мб/сек, Мбит/сек – Mbps, Mbit/s, Mb/s).
Например, если необходимо скачать файл размером в 100MB, то при скорости интернета 1 Мбит/сек, загрузка будет длиться около 800 секунд.
Для того, чтобы понять почему получили такие значения воспользуйтесь таблицей перевода величин: бит, байт, Кб, Мб, Гб, Тб или онлайн-конвертером.
Название | Обозначение | Пересчет в байты |
---|---|---|
Бит | — | Наименьшее значение |
Байт | Б, b | 8 бит |
Килобайт | Кб, Kb | 1024 байт |
Мегабайт | Мб, Mb | 1024 килобайт |
Гигабайт | Гб, Gb | 1024 мегабайт |
Терабайт | Тб, Tb | 1024 гигабайт |
Знание действительной скорости передачи данных поможет оценить время ожидания скачивания больших медиа-файлов типа телесериалов или полнометражных кинофильмов.
- Скорость выгрузки/загрузки. Это быстрота получения или отправки информации, завяленная провайдерами скорость трафика. Как быстро вы сможете получить данные, за нее начисляется абонентская плата.
Еще один важнейший показатель качества и надежности интернет-соединения – Ping (пинг). Вероятно, термин ведет происхождение от народного названия популярной спортивной игры – Настольный теннис (пинг-понг).
В интернете Ping – это временной период передачи данных от компьютера к удаленному серверу и обратно. Как в пинг-понге – время, пока шарик был оправлен на строну противника и вернулся назад.
Очевидно, что показатель Ping напрямую влияет на комфорт пользования интернетом. Ведь если долго приходится ждать ответа на каждый запрос – это очень неудобно и неприятно.
Например, пользователь кликнул по ссылке, а сайт загрузился только через минуту, а хотелось бы за секунду.
Как проверить скорость интернета онлайн
К услугам пользователей давно доступны бесплатные онлайн-сервисы измерения скоростных параметров интернет-соединения.
Давайте рассмотрим некоторые наиболее популярные сайты, где можно быстро узнать показатели трафика по средствам ПК и мобильного телефона.
Speedtest.net
Заходим на сайт speedtest.net/ru. Интерфейс совершенно минималистский.
Система автоматически определила провайдера и задействованный сервер, показала IP-адрес компьютера.
Внимание! Для мобильных устройств придется скачать специальное приложение.
Нажимаем кнопку «Начать» и процесс пошел.
Через несколько секунд отобразился окончательный результат.
Скорость выгрузки почему-то с первого раза не отобразилась, поэтому пришлось провести тест дважды.
Яндекс-Интернетометр
Отечественная поисковая компания Яндекс тоже предоставила обитателям рунета сервис для оценки параметров интернет-трафика по ссылке yandex.ru/internet/.
Нажимаем «Измерить».
Пару секунд и будут проверены параметры входящего соединения.
А вот и исходящая.
Результат.
Как видно Яндекс.Интернетометр измеряет только скорость соединения, а Ping отсутствует.
2IP
Ну очень мощный сервис 2ip.ru тестирования качества интернета по множеству параметров. Нас интересует скорость, так что переключаемся в соответствующий раздел.
Нажимаем «Тестировать» и смотрим.
После завершения процесса сформирован презентабельный отчет, которым можно поделиться в соцсетях.
Зачем? Чтобы обсудить, как нас провайдеры дурят. Нужно же чем-то эмоционально зацепить сообщество. ))
Pr-Cy.ru
Авторитетный SEO-сервис pr-cy.ru тоже позаботился о собственном измерителе интернет-трафика. Нажимаем кнопку «Начать тест».
Сначала была измерена скорость скачивания.
Затем скорость загрузки.
После окончания процессов представлен красиво оформленный результат.
Существуют ли альтернативы онлайн-сервисам для проведения контрольных проверок интернета? Об этом читайте в следующем разделе.
Программы для измерения скорости сети
Для пользователей, не совсем доверяющих онлайн-сервисам, разработаны устанавливаемые приложения интернет-тестеры.
Выше мы проверяли трафик с помощью онлайн-сервиса Speedtest.net и на этом же сайте можно скачать десктопную версию измерителя скорости интернета для Windows и Mac.
SpeedTest
Вот как выглядит интерфейс программы.
Проверяются аналогичные показатели – Ping, Download, Upload (загрузка-выгрузка).
uTorrent
Иногда возникает задача выяснить максимально возможную скорость скачивания файлов на конкретном компьютере.
В этом случае вам поможет популярная программа-клиент пиринговых сетей µTorrent. Безопасно и бесплатно скачать µTorrent можно на официальном сайте пирингового сообщества Utorrent.com.
Найдите файл, пользующийся огромным спросом, подключенный к пулу из многих тысяч раздающих.
В процессе скачивания через программу µTorrent отследите наибольшую скорость загрузки. Это и будет максимальная быстрота интернета, доступная на этом компьютере, с данным провайдером.
На этом все, если используете другие методы проверки быстродействия сети обязательно расскажите о них в комментариях.
Как проверить скорость интернета — онлайн тест соединения на компьютере и телефоне, SpeedTest, Яндекс и другие измерители
13.07.2018
Комментарии к записи Как проверить скорость интернета — онлайн тест соединения на компьютере и телефоне, SpeedTest, Яндекс и другие измерители отключены
946 Просмотров
Есть масса онлайн-сервисов позволяющих это сделать, и о них речь пойдет ниже. Но зачастую всего этого не нужно — требуется лишь быстро протестировать свой интернет канал и понять, насколько он соответствует тому тарифному плану, за который вы платите денежку провайдеру. Например, безлимит от МТС, который можно приобрести на сайте Мегасимка, обещает скорость до 4 Мбит/с. Ниже описаны сервисы, которые помогут проверить реальную скорость интернета.
Мне не так давно буржуйский сервис «nPerf Speed Test» предложил установить на сайт их скрипт. Работает он очень наглядно и отлично справляется со своей задачей — проверкой качества вашего соединения с глобальной сетью. Просто нажмите на кнопку «Начать тестирование» чуть ниже (это не скриншот, а вполне себе рабочий спидометр).
Сначала измеряется скорость загрузки данных с сети (как правило, этот тест является самым важным для большинства пользователей), затем идет замер скорости отдачи, ну и в конце вычисляется пинг, т.е. задержки с ответом при обращении с вашего компьютера к какому-либо серверу в интернете.
Да, собственно, что говорить. Пробуйте сами. Чуть выше приведено окно этого онлайн-измерителя и вам нужно лишь нажать на кнопу.
Прямо здесь измерить скорость интернета на компьютере
Несмотря на то, что приведенный выше скоростемер предельно прост в обращении и, что важно, полностью переведен на русский язык, стоит сказать про несколько нюансов связанных с его использованием. На проверку уходит обычно одна-две минуты (в зависимости от скорости вашего соединения), после чего в том же окне вы сможете лицезреть результаты тестирования:
Основные показатели вы увидите в правой колонке:
- Скорость загрузки — важнейшая характеристика для тех, кто часто качает с интернета что-то «тяжелое».
- Выгрузка — тестирование обратного канала, по которому вы будете заливать файлы в сеть. Важно для тех, кто много чего-то выкладывает в интернет, например, видеоролики на ютуб загружает, фото заливает (на Радикал, Picasa, Яндекс.Фотки) или что-то еще тяжелое, либо в большом количестве. Так же это важно при активной работе с облачными сервисами типа Дропбокс, Яндекс.Диск, Гугл.Диск, One Drive и им подобных. Хотя в последнем случае важны оба значения скорости.
- Задержка — это по сути старый добрый пинг, который очень важен для тех, кто играет по сети. Он будет определять скорость отклика, т.
е. время реакции на ваши действия (тестируется качество интернет-канала). Если задержка велика, то играть будет сложно или вообще невозможно.
У меня интернет-провайдер МГТС (Gpon) и тариф с заявленной шириной канала в 100 Мбит. Как видно из графиков замера скорости, ни в одну сторону такой цифры не получилось. В принципе, это нормально, ибо у меня передача сигнала от роутера к компьютеру идет по электрической сети, в которой, видимо, есть наводки. К тому же работает еще несколько потребителей интернета в квартире кроме меня и заставить их остановиться не в моих силах.
Вернемся, однако, к нашему инструменту измерений. Справа в его окне вы увидите название вашего провайдера и IP-адрес вашего компьютера. Под кнопкой «Начать тестирование» имеется гаечный ключ, нажав на который можно выбрать единицы измерения скорости:
По умолчанию используются мегабиты в секунду, но можно выбрать и мегабайты, а так же килобайты или килобиты. Сколько бит в байте, а килобайт в мегабайте, можно посмотреть по ссылке. А вообще, скорость в мегабайтах будет примерно в восемь-девять раз меньше, чем в мегабитах. В теории должно быть в 8 раз, но есть служебные пакеты, которые отъедают часть скорости канала.
Читайте также
GetGoodLinks — как заработать на сайте и как покупать ссылки в бирже ГетГудЛинкс
Пробежимся немного по возможностям измерителя и отличиям от конкурентов (о конкурентах речь пойдет ниже):
- Как и другие подобные онлайн-измерители он работает на Flash, но при этом не требует каких-то дополнительных плагинов — работает во всех браузерах включая и мобильные
- Данный тест скорости разработан на HTML5 и умеет измерять каналы шириной более Гбит/с, что недоступно многим другим онлайн-сервисам
- Проверить можно любой тип соединения включая WiMAX, WiFi и локальные сети
Да, еще данный спид-тест позволяет выбрать место, откуда будут загружаться и куда отправляться данные, по скорости передачи которых вы и будете судить о качестве своего интернет-канала. По умолчанию, для тестирования выбирается сервер (что это такое?) наиболее близкий к вашему текущему местоположению (его несложно определить по IP адресу вашего компьютера).
Но программа может ошибиться, либо вам самим по каким-либо причинам понадобится замерить качество соединения вашего компьютера с сервером из другой страны. Сделать это несложно, просто кликнув по соответствующей строке внизу окна (см. скриншот выше).
Как проверить скорость интернета на телефоне
В принципе, можно точно так же. Открыть эту страницу на мобильном телефоне, после чего нажать в ее начале на кнопку «Начать тестирование и дождаться результата». Скрипт измерителя довольно корректно отрабатывает на мобильных девайсах и выдает характеристики прямого и обратного интернет-каналов, а так же скорость отклика (пинг).
Если этот способ кажется вам несколько неудобным, то можете попробовать поставить на свой мобильный телефон приложение «Speed Test» от nPerf. Оно довольно популярно (полмиллиона установок) и во многом повторяет то, что вы уже видели:
Но после тестирования скорости прямого и обратного канала, а так же измерения пинга, приложение Speed Test еще замеряет время загрузки популярных соцсетей (веб-серфинг) и определяет насколько ваше интернет соединение подходит для просмотра потокового видео (стриминг) различного качества (от низкого до HD). По результатам тестирования формируется сводная таблица и выдается общая оценка (в попугаях).
Где еще можно замерить скорость интернета?
Ниже я хочу привести примеры бесплатных онлайн сервисов, которые позволяют измерить скорость вашего интернет соединения, узнать мой или ваш IP адрес, с которого вы выходите в сеть, определить ваше местоположение, проверить сайт или файл на вирус, узнать, отрыт ли нужный порт у вас на компьютере и многое другое.
Самыми известными из них являются Спидтест (speedtest.net), Я.Интернетометр (internet. yandex.ru), а так же универсальный онлайн сервис 2IP (2ip.ru), который кроме измерения скорости соединения и определения IP адреса умеет делать много разных вещей, вплоть до анонимного (anonim) серфинга по интернету. Давайте рассмотрим их все по порядку.
Спидтест (speedtest.net)
Самый популярный онлайн сервис по тестированию скорости интернета носит гордое название Спидтест (от слова speed — скорость).
В результате его использования вы узнаете входящие и исходящие скорости своего инет соединения. Однако возможности полноценного инструмента вы сможете ощутить, лишь посетив сайт разработчиков. Находится он по адресу SpeedTest.net (спидтест точка нет), а не .ru, ибо в последнем случае вы попадете на непотребный ресурс.
Читайте также
QR-коды — что это такое, как создать и расшифровать любой баркод, онлайн генераторы и программы для их считывания
Я познакомился со спидтестом сразу, как только подключил свой первый безлимитный тариф, ибо хотелось проверить, не обманывает ли меня мой новый провайдер по поводу скорости предоставляемого канала. Это уже потом меня заинтересовали более расширенные возможности 2ip и других подобных ему, о которых речь пойдет в продолжении этой публикации.
Для активации теста скорости достаточно будет нажать на кнопку «Начать». Хотя вы можете предварительно выбрать местоположения сервера, с которого будет осуществляться проверка (кнопка «Поменять сервер»):
Правда, мне их старый дизайн намного больше нравился. Раньше измерение скорости интернета в спидтесте происходило очень наглядно (отображалась перекачка данных между выбранным городом и вашим компьютером) и ожидание результата не вызывало отрицательных эмоций:
Теперь же сплошная скучища (верните старый дизайн SpeedTest!):
Через полминуты будет сформирован окончательный результат измерений, который будет включать пинг, входящую и исходящую скорость интернет соединения. Если вам нужно будет опубликовать полученный результат проверки скорости, например, на форуме, то по окончании спид-теста достаточно будет нажать на кнопку «Поделиться», чтобы получить возможность скопировать код вставки:
Интернетометр от Яндекса
Если результаты проверки скорости в Спидтесте вас не устроят или же покажутся недостоверными (а может просто флеш у вас не запустится), то вам на помощью придет онлайн сервис Яндекса — Интернетометр (раньше он назывался Яндекс Интернет — internet. yandex.ru):
Сразу после захода на сайт вы увидите уникальный адрес своего компьютера, с которого вы зашли на Интернетометр, а так же другую сводную информацию о вашем браузере, разрешении экрана и местоположении (определяется на основе IP).
Для того, чтобы определить скорость вашего интернет соединения, достаточно будет нажать на этом сервисе yandex internet кнопку в виде зеленой линейки «Измерить» и подождать минутку до окончания работы теста:
В результате вы узнаете насколько ваш канал соответствует заявленным провайдером характеристикам, а так же сможете получить код для публикации результатов тестов. В общем, сервис Интернетометр от Яндекса прост до безобразия, но свою главную задачу (измерение ширины канала или, другими словами, скорости соединения) выполняет вполне сносно.
Тестируем скорость в 2ip и Укртелеком
С 2ip я знаком достаточно давно, но в то время, когда только начинал им пользоваться, меня мало интересовали все его возможности, которые могли бы пригодиться и вебмастерам. А может быть раньше этих возможностей там и не было.
При заходе на главную страницу 2 ip вы сразу же получите возможность узнать свой IP адрес и воспользоваться целым рядом других мини-сервисов:
Ну,и кроме всего прочего вы можеет измерить скорость своего инета в 2IP. Перед началом тестирования отключите все закачки, закройте вкладки в ваших браузерах с онлайн видео, после чего можете заполнить поля с заявленной интернет провайдером шириной канала на скачивание и отдачу, а можете просто забить на это и нажать на кнопку «Тестировать»:
На проверку входящей и исходящей скорости вашего интернет-соединения потребуется некоторое время, после чего вы сможете оценить результаты тестирования, а заодно и получить код для вставки виджета с результатами замеров, например, в сообщение на форуме или еще где-то:
Проверить скорость интернет соединения можно не только в описанных выше сервисах, но и в ряде других. Например, Спидтест Укртелеком — очень лаконичный, надо сказать, онлайн сервис. Ничего лишнего — только цифры скорости и пинга:
GoGetLinksYouTubeВеб-обзорыинтересноеОнлайн сервисыоптимизация изображенийфон сайта 2018-07-13
Яндекс Карты и Навигатор в App Store
Описание
Поиск адреса или лучших мест поблизости как онлайн, так и офлайн. Карты Яндекса предоставляют информацию об организациях и помогают добраться до места назначения на автомобиле, общественном транспорте, велосипеде или пешком в зависимости от текущей ситуации на дорогах.
Поиск и выбор местоположений:
• Крупнейшая база данных организаций и фильтры для уточнения поиска.
• Подробная информация: контакты, режим работы, предоставляемые услуги, фотографии, отзывы.
• Планы этажей, чтобы ориентироваться в основных торговых центрах Москвы.
• Поиск мест и адресов без подключения к интернету (автономные карты).
• Просмотр мест, сохраненных на вашем смартфоне, планшете и ПК.
Пользовательские настройки карты:
• Местоположение автобусов, трамваев, троллейбусов и маршруток в режиме реального времени.
• Дорожные карты, показывающие текущие условия движения в городе.
• Парковочный слой с указанием местоположения и стоимости официальной парковки.
• Панорама улиц для просмотра любого адреса со стороны дороги.
• Выберите один из трех типов карт: Дорожная карта, Спутник и Гибрид.
Общественный транспорт, автомобильные, велосипедные и пешеходные маршруты:
• Пешеходная навигация: пути между зданиями, через парки, через площади и другие пешеходные зоны.
• Велосипедная навигация: типы дорог, настройки подземных и надземных переходов, а также предупреждения на дорогах.
• Маршруты общественного транспорта с расписанием и расчетным временем прибытия.
• Оптимальные маршруты движения на основе реальных условий движения и вариантов вождения.
• Пошаговые инструкции с голосовой навигацией.
• Камера контроля скорости, ограничение скорости и уведомления о превышении скорости.
• Обновления в режиме реального времени о дорожном движении, дорожно-транспортных происшествиях, скоростном радаре и многом другом.
Офлайн-карты:
• Автомобильные маршруты и голосовая навигация.
• Загружаемые облегченные карты (минимальный объем памяти, например, карта Москвы — всего 187 МБ).
• База данных организаций с часами работы, оказываемыми услугами и прочим.
• Более 2000 городов России, Армении, Беларуси, Грузии, Казахстана, Латвии, Турции, Украины и Эстонии.
Информация от пользователей:
• Отмечайте дорожные события на карте и комментируйте сообщения пользователей.
• Регулярные обновления общедоступной карты информируют вас о вашем городе.
• Пишите отзывы, загружайте фотографии и обновляйте информацию об организациях.
У Яндекс Карт есть приложение для Apple Watch. Используйте его, чтобы:
• Перемещаться по карте.
• Просмотр ближайших станций метро и остановок общественного транспорта.
• Узнайте, когда общественный транспорт прибудет на ближайшую остановку.
• Отслеживайте схемы движения на несколько часов раньше.
• Просмотр прогноза погоды.
Условия использования: apple.com/legal/itunes/appstore/dev/stdeula
Политика конфиденциальности: yandex.com/legal/confidential
Версия 14.3.0
Наслаждайтесь улучшенной производительностью приложения.
Рейтинги и обзоры
6,4 тыс. оценок
Отзыв от байкера
Я предпочитаю это приложение из-за его простоты по сравнению с другими и возможности увеличивать и уменьшать масштаб одним касанием, а не щипком. И новая функция замечательна для нас.
Из-за положения и размера моего телефона на руле у меня иногда возникают проблемы при нажатии кнопок масштабирования.
Во время езды я использую только левую руку как свободную, так как это намного безопаснее для езды на велосипеде. Но кнопки находятся с правой стороны. Можно ли добавить настройку, которая позволит нам выбирать, где должны быть кнопки?
Наконец, хотелось бы узнать, можно ли добавить карту уклонов/высот. Это было бы идеально для езды на велосипеде.
Спасибо, что сделали приложение более удобным для велосипедистов.
Напишите, пожалуйста, об этом на [email protected], чтобы мы могли получить подробную информацию.
Потенциал этого.
При использовании других сервисов Яндекса всегда поражает, насколько хорошо сделана локализация, и хотя вы всегда должны знать, что получаете «русские для России», большинство приложений и сервисов имеют глобальный характер.
Тогда есть Яндекс Карты. Не знаю, связано ли это с лицензией или слишком много работы для слишком малой аудитории, но карты США крайне неточны, названия улиц — это просто латинизация русского местоимения, а целые участки улиц просто отсутствуют. Но затем перечислены предприятия, в том числе с логотипом их компании.
Вероятно, это САМЫЕ карты для использования в России (и я предполагаю, что в нескольких других местах), но пока не совсем для того, чтобы заменить приложение That Other Maps.
Яндекс Карты
Я очень ценю это приложение за его качество, удобный поиск мест и лучшую навигацию
Мне это очень интересно.Спасибо Яндекс
Спасибо, что пользуетесь услугами Яндекса! Мы очень ценим ваш выбор и рады, что приложение оказалось для вас полезным.
Разработчик, Intertech Services AG, указал, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Для получения дополнительной информации см. политику конфиденциальности разработчика.
Данные, используемые для отслеживания вас
Следующие данные могут использоваться для отслеживания вас в приложениях и на веб-сайтах, принадлежащих другим компаниям:
Идентификаторы
Данные об использовании
Другие данные
Данные, связанные с вами
Следующие данные могут быть собраны и связаны с вашей личностью:
Покупки
Финансовая информация
Место расположения
Контактная информация
Пользовательский контент
История поиска
Идентификаторы
Данные об использовании
Диагностика
Другие данные
Данные, не связанные с вами
Могут быть собраны следующие данные, но они не связаны с вашей личностью:
Здоровье и фитнес
Пользовательский контент
Методы обеспечения конфиденциальности могут различаться, например, в зависимости от используемых вами функций или вашего возраста. Узнать больше
Информация
- Продавец
- Интертек Сервисиз АГ
- Размер
- 405,4 МБ
- Категория
Навигация
- Возрастной рейтинг
- 4+
- Местоположение
- Это приложение может использовать ваше местоположение, даже если оно не открыто, что может сократить срок службы батареи.
- Авторское право
- © 2009–2022 ООО «Яндекс»
- Цена
- Бесплатно
Сайт разработчика
Тех. поддержка
Политика конфиденциальности
Еще от этого разработчика
Вам также может понравиться
Яндекс Публикует ЯЛМ 100Б.
Это крупнейшая нейронная сеть, похожая на GPT, с открытым исходным кодом | Михаил Хрущев | Яндекс
В последние годы крупномасштабные языковые модели на основе трансформеров стали вершиной нейронных сетей, используемых в задачах НЛП. С каждым месяцем они растут в масштабе и сложности, но для обучения таких моделей нужны миллионы долларов, лучшие специалисты и годы разработки. Вот почему только крупные ИТ-компании имеют доступ к этой ультрасовременной технологии. Однако исследователям и разработчикам во всем мире нужен доступ к этим решениям. Без новых исследований их рост может замедлиться. Единственный способ избежать этого — поделиться передовым опытом с сообществом разработчиков.
Мы уже больше года используем языковые модели семейства YaLM в голосовом помощнике Алиса и Поиске Яндекса. Сегодня мы сделали нашу самую большую модель YaLM, которая использует 100 миллиардов параметров, доступной бесплатно. Нам потребовалось 65 дней, чтобы обучить модель на пуле из 800 видеокарт A100 и 1,7 ТБ онлайн-текстов, книг и множества других источников. Мы опубликовали нашу модель и полезные материалы на GitHub под лицензией Apache 2.0, которая разрешает как исследовательское, так и коммерческое использование. В настоящее время это крупнейшая в мире нейронная сеть, подобная GPT, бесплатно доступная для английского языка.
В этой статье мы поделимся не только моделью, но и нашим опытом ее обучения. Вы можете подумать, что с суперкомпьютером обучение крупномасштабных моделей — это проще простого. К сожалению, это не так. Здесь мы расскажем вам, как нам удалось обучить такую огромную языковую модель и как мы вдвое сократили время обучения без ущерба для стабильности. Многие вещи, описанные ниже, можно применять и для обучения небольших моделей.
В контексте крупномасштабных нейронных сетей 10-процентное увеличение скорости обучения может сэкономить вам неделю работы в кластере с высокой ценностью. Здесь мы расскажем вам, как увеличить скорость тренировки более чем в два раза.
Итерации обучения обычно состоят из следующих шагов:
- Подготовка пакета
- Запуск прямого распространения: расчет функций активации и потерь
- Запуск обратного распространения: расчет градиентов
- Запуск этапа шага для обновления весов модели
Давайте посмотрим, как можно ускорить эти этапы.
Поиск узких мест
Чтобы увидеть, как используется время обучения, следует использовать профилировщик. В PyTorch этим занимается модуль torch.autograd.profiler (см. статью). Вот пример трассировки, которую мы получили от профилировщика:
Этот след был создан небольшой 12-слойной нейронной сетью. Вы можете увидеть этапы вперед вверху и этапы назад внизу. Что не так с этим следом? Одна операция занимает слишком много времени, около 50% всего времени обучения. Оказалось, что мы забыли изменить размер встраивания токена при копировании обучающей конфигурации для нашей большой модели. Это привело к чрезмерному умножению матриц в конце сети. Уменьшив размер встраивания, мы значительно ускорили процесс обучения.
Профилировщик также помог нам найти более серьезные проблемы, поэтому мы рекомендуем использовать его чаще.
Использовать быстрые типы данных
Первое, что влияет на скорость обучения и вывода, — это тип данных, используемый для хранения модели и выполнения вычислений. Мы используем четыре типа данных:
- Формат с одинарной точностью, fp32: обычный формат с плавающей запятой. Это очень точно, но занимает четыре байта, замедляя вычисления. Это тип вашей модели PyTorch по умолчанию.
- Формат половинной точности, fp16: 16-битный тип данных, который намного быстрее, чем fp32, и потребляет вдвое меньше памяти.
- bfloat16, еще один 16-битный тип: по сравнению с fp16 он предоставляет на 3 бита меньше для мантиссы и на 3 бита больше для экспоненты. В результате формат может принимать более широкие диапазоны значений, но страдает от потери точности в числовых операциях.
- Формат TensorFloat, tf32: 19-битный тип данных, который объединяет экспоненту из bf16 и мантиссу из fp16. Он потребляет те же четыре байта, что и fp32, но намного быстрее.
На видеокартах A100 и новее 16-битные типы в 5 раз быстрее, чем fp32, и в 2,5 раза быстрее, чем tf32. Если вы используете карту A100, то вместо fp32 всегда используется tf32, если вы явно не укажете иное.
В старых видеокартах bf16 и tf32 не поддерживаются, а fp16 всего в два раза быстрее, чем fp32. Несмотря на это, это все еще огромный выигрыш в производительности. Всегда имеет смысл выполнять вычисления в формате половинной точности или в формате bf16, хотя у этого подхода есть свои недостатки. Мы обсудим это позже.
Ускорение операций на графическом процессоре
В этой статье дается хорошее объяснение операций на графическом процессоре и способов их ускорения. Здесь мы процитируем пару основных идей оттуда.
Использовать GPU полностью
Для начала разберемся, как выглядит расчет одного CUDA-ядра на GPU. Аналогия с фабрикой из этой статьи помогает проиллюстрировать это:
У вашего графического процессора есть склад (память) и фабрика (вычисление). При выполнении ядра вычисление запрашивает соответствующие данные из памяти, вычисляет результат и записывает его обратно в память.
Что произойдет, если ваш завод работает на половину своей мощности?
Подобно заводу по производству кирпича и минометов, половина ресурсов графического процессора простаивает. Как исправить это во время тренировки? Самый простой способ — увеличить размер партии .
Для небольших моделей увеличение размера партии в N раз может принести многократное увеличение скорости обучения, хотя сама итерация замедлится. Для крупномасштабных моделей с миллиардами параметров также можно получить небольшой выигрыш от увеличения размера пакета.
Уменьшить взаимодействие с памятью
Вторая идея из статьи заключается в следующем. Предположим, у нас есть три ядра, которые обрабатывают одни и те же данные в конвейере:
В этом случае время используется не только для вычислений, но и для доступа к памяти: эти операции имеют свою цену. Чтобы уменьшить количество этих операций, вы можете сплавить свои ядра:
Как? Есть несколько способов:
1. Использовать torch.jit.script. Используя этот простой атрибут, вы можете скомпилировать код функции в одно ядро. В приведенном ниже коде мы объединили три операции: добавление тензора, удаление и добавление другого тензора.
Этот подход дал нам увеличение скорости обучения на 5%.
2. Вы можете написать свои собственные ядра CUDA. Таким образом, вы можете не только объединить свои операции, но и оптимизировать использование памяти и избежать ненужных операций. Однако написание этого кода требует очень специфических знаний, а разработка ядра может оказаться слишком дорогой.
3. Либо можно использовать готовые ядра CUDA. Давайте быстро взглянем на ядра в библиотеках Megatron-LM и DeepSpeed (мы их часто используем):
- Внимание softmax с треугольной маской обеспечивает ускорение на 20–100%. Прирост скорости также особенно высок в небольших сетях, когда вы используете fp32 в своих вычислениях.
- Внимание softmax с произвольной маской обеспечивает ускорение до 90%.
- Fused LayerNorm — это объединенная версия LayerNorm в fp32. Мы его не использовали, но он тоже должен дать выигрыш в скорости.
- Трансформаторы DeepSpeed представляют собой трансформаторный блок с полностью плавкими предохранителями.
Он обеспечивает ускорение, но его крайне сложно масштабировать и поддерживать, поэтому мы его не используем.
Используя различные виды сплавленных ядер, мы ускорили процесс обучения более чем в 1,5 раза.
Dropouts
Если у вас много данных и нет переобучения при dropout == 0, отключите dropouts! Это увеличило скорость наших вычислений на 15%.
Случай с несколькими графическими процессорами
Что изменится, если вы запустите несколько графических процессоров? Теперь наш процесс выглядит следующим образом:
- Подготовьте пакет
- Вперед
- Назад
- all_reduce градиенты: усредните градиенты на ваших видеокартах, чтобы объединить их ресурсы
- Шаг: Обновите веса модели
Усреднение всех градиентов требует времени. Каждый графический процессор должен отправлять и получать как минимум столько градиентов, сколько у вас есть параметров в вашей сети. Давайте посмотрим, как мы можем значительно ускорить эту и ступенчатую стадию.
Связь
Как работает оптимальная связь? Используемая нами библиотека NVIDIA NCCL вычисляет обмен данными при инициализации и позволяет графическим процессорам обмениваться данными по сети без каких-либо посредников ЦП. Это обеспечивает максимальную скорость связи. Вот статья NVIDIA об этой библиотеке.
В коде это выглядит так:
Коммуникации NCCL очень быстрые, но даже с ними скорость этапа all_reduce займет много времени. ZeRO помогает нам ускорить его еще больше.
ZeRO
ZeRO означает оптимизатор нулевой избыточности.
В левой части картинки вы видите стандартную тренировку на нескольких GPU. В стандартной схеме мы распределяем все параметры и состояния оптимизации, а также усредненные градиенты между нашими процессами. Это стоит нам много памяти.
Блок-схема высокого уровня ZeRO показана справа. Каждому процессу мы назначаем группу параметров. Для этих параметров процесс всегда сохраняет значения и состояния оптимизатора, и только этот процесс может их обновлять. Таким образом, вы можете сэкономить огромные объемы памяти, которые теперь могут быть выделены для больших пакетов. Однако это добавляет новый этап: all_gather weights. Нам нужно собрать все параметры сети в каждом процессе, чтобы запустить прямой и обратный этапы. Теперь сложность операций после расчета градиентов будет следующей:
- градиенты all_reduce: O(N), где N — количество параметров.
- шаг: O(N/P), где P — количество процессов. Это уже приличный разгон.
- параметры all_gather: O(N).
Как видите, мы ускорили один этап, но за счет добавления новых тяжелых операций. Так как же нам их ускорить? Просто: запускайте их асинхронно!
Соберите свои слои асинхронно один за другим во время предварительной стадии:
- Собираем первый слой для всех процессов.
- Собирая второй слой, мы запускаем предварительную стадию для первого слоя.
- Собирая третий слой, мы запускаем передний этап для второго слоя.
И так далее, пока не закончим все этапы вперед. Вы можете ускорить обратную стадию почти таким же образом.
Это увеличило скорость наших моделей на 80%! Даже на небольших моделях (100M на 16 GPU) мы увидели ускорение на 40–50%. Для этого подхода требуется довольно быстрая сеть, но если она у вас есть, вы можете значительно ускорить обучение на нескольких GPU.
Результат
Мы применили четыре подхода к нашему тренировочному процессу:
- Мы объединили часть наших операций: +5% скорости
- Мы использовали ядро внимания softmax с треугольной маской: +20–80%
- Мы отключено отсев: +15%
- Мы применили ZeroRO: +80%
Неплохо. Давайте двигаться дальше.
Долгая итерация — не единственное препятствие для обучения действительно большой модели. Может показаться, что при наличии достаточной вычислительной мощности можно просто начать обучение модели, уехать в отпуск на два месяца, а по возвращении уже будет ждать готовая модель. Однако модели такого масштаба достаточно хрупкие и склонны к расхождению. Что такое дивергенция и как ее контролировать?
Что такое расхождение?
Допустим, вы запустили тренировку, посмотрели на графики и увидели, что убыток уменьшается. Первый день, второй день, третий день, все еще уменьшается. Затем, утром четвертого дня, вы смотрите на график потерь, и он выглядит так:
Сейчас потери выше, чем через несколько часов после начала тренировки. Более того, модель буквально забыла все, что знала. Это непоправимо: дни тренировок насмарку.
Что случилось?
Первые наблюдения
Мы заметили три вещи:
1. Оптимизатор LAMB гораздо менее склонен к расхождениям, чем Адам.
2. Снижая скорость обучения, мы можем решить проблему расхождения. Но не все так просто:
- Чтобы правильно подобрать параметр lr, нужно многократно перезапускать процесс обучения.
- Уменьшение lr часто замедляет обучение: например, здесь двукратное уменьшение lr привело к замедлению на 30%:
3. fp16 более подвержен проблемам расхождения, чем fp32. В основном это было связано с переполнением значений fp16 в наших функциях активации и градиентах. Максимальное абсолютное значение fp16 равно 65535. Переполнение привело к NaN в значениях функции потерь.
Термометры
Одной из вещей, которые мы долгое время использовали для продолжения обучения, были термометры. Измерялись максимумы и минимумы функций активации в различных сегментах сети, а также глобальная норма градиентов. Вот пример значений термометра для дивергентной тренировки:
Видно, что начиная примерно с 14 000 итераций, максимумы матмуля во внимании стали резко расти. Этот рост является причиной дивергенции. Если вы откатите обучение до 13 000 итераций и пропустите ошибочные пакеты, вызвавшие расхождение, или уменьшите скорость обучения, вы можете значительно снизить вероятность повторного расхождения.
У этого подхода есть два недостатка:
- Он не устраняет 100% расхождения.
- Вы тратите драгоценное время на откат обучения.
Это конечно лучше, чем совсем отказаться от дивергентной тренировки, но все же.
Позже мы ввели некоторые приемы, которые уменьшили вероятность расхождения до такой степени, что позволили нам обучить множество моделей разных размеров, включая 100B.
Стабилизаторы. BFloat 16
BFloat 16 не переполняется даже при больших значениях градиентов и активаций. Вот почему этот формат является проверенным вариантом для хранения весов и выполнения вычислений. К сожалению, он недостаточно точен, поэтому произвольные арифметические операции могут накапливать ошибки, приводящие к замедлению обучения или другому виду расхождений.
Чтобы компенсировать расхождение, мы начали просчитывать следующие слои и операции в tf32 (или fp32 на старых видеокартах):
- Softmax во внимание (вот здесь наши ядра пригодились), softmax на токенах до функции потери .
- Все функции LayerNorm.
- Все операции с Residual: так мы избежали накопления ошибок и перемещения градиентов вглубь сети.
- all_reduce градиентов, о которых мы упоминали ранее.
Все эти стабилизации замедлили обучение всего на 2%.
Стабилизаторы. LayerNorm
В статьях о BERT и GPT использовался подход, известный сейчас как post-layernorm (слева на картинке). Однако с точки зрения стабильности и скорости сходимости на больших моделях pre-LayerNorm показал себя превосходно (справа на картинке). Итак, для наших моделей мы используем pre-LayerNorm.
BigScience просветила нас о неожиданном варианте стабилизации: вводя layernorm в самом начале сети, после встраивания, можно также существенно снизить вероятность коллапса.
Стабилизация. Curriculum Learning
Мы также использовали подход из статьи Curriculum Learning. Мы хотим обучить нашу нейронную сеть на большой партии и большой длине строки, но мы начинаем с обучения на маленькой партии и небольшой длине строки, а затем постепенно увеличиваем их по мере обучения.
Этот подход имеет два преимущества:
- Функция потерь довольно быстро падает в самом начале, независимо от количества токенов, видимых модели на каждой итерации.