Обновить
7
0

Пользователь

Отправить сообщение

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

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели5.7K

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

Статья подробно описывает архитектуру трансформера, включая блоки внимания (Attention Blocks), где векторы взаимодействуют друг с другом для обновления значений на основе контекста, и многослойные распознаватели (Перцептроны) (Feed-Forward Layers), где векторы обрабатываются параллельно. Объясняется, почему глубокие нейронные сети называются «глубокими» — из-за множества чередующихся слоёв этих операций.

Материал включает практические примеры на основе GPT-3 с её 175 миллиардами параметров, распределённых по почти 28,000 матрицам. Авторы тщательно отслеживают количество параметров на каждом этапе, помогая читателю понять масштаб современных языковых моделей.

Ключевая идея статьи заключается в том, что модель, обученная предсказывать следующее слово, способна генерировать связный текст путём повторяющегося процесса предсказания и выборки. Детально рассматривается процесс токенизации входных данных, когда текст разбивается на небольшие фрагменты — токены, которые затем преобразуются в векторы с помощью матрицы вложений.

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

Завершается статья описанием процесса "вложений" и функции "softmax", которая преобразует выходные данные модели в распределение вероятностей для предсказания следующего токена. Особое внимание уделяется понятию «температуры», которое контролирует степень случайности при генерации текста.

Читать далее

iOS 18 PHAsset URL из requestAVAsset

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели901

Всем привет! Сегодня я с большой радостью буду обсуждать iOS 18. Наконец-то, уважаемые коллеги, пришло время и мне приобщиться к этой замечательной операционной системе — iOS 18 beta 4. Главной причиной моего участия стали наши продвинутые пользователи, которые уже активно тестируют iOS 18. Спасибо вам за это!

Сразу скажу, что я истинный любитель Apple и все, что с ней связано, вызывает у меня огромный интерес.

Стоит отметить, что iOS 18 beta 4 я буду сокращенно называть iOS 18. Также важно понимать, что методы и способы работы с ними могут измениться в релизной версии iOS 18.

В статье я поделюсь своим недавним опытом работы со следующими методами под iOS 18 beta 4, которые удивительным образом отличаются от предыдущих версий iOS.

Читать далее

AVPlayer seek(to:… vs seek(…tolerance

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.1K

Привет всем! Это моя внеочередная статья, о том что нагорело. У меня за последний год накопилось много интересного (и не очень :) ) материала. Но эту статью хочу написать вне очереди. Не так давно я столкнулся с интересным поведением метода seek(to: CMTime). Об этом и хочу написать.

Но начнем по порядку.

AVPlayer известен нам с iOS 4. Он содержит AVPlayerItem, AVAsset.

Читать далее

Как я Sberfight 2022 проходил на Swift

Время на прочтение8 мин
Охват и читатели4.1K

В 2021 году на просторах интернета случайно увидел Sber на geecko.com, тогда компания Sber проводила fight типа "староверы" против "новокодеров". (Простите за неточности, вспоминаю по памяти.)

И когда запустили конкурс Sberfight я уже автоматически попал в рассылку.

Я относительно молод в Swift и тренировка умений или же проверка навыков на скорость очень привлекла. А формат в стиле "Денди" поднимает давно забытое чувство детства. (Моей любимой игрой были "танчики", "контра" и "червяк Джим"- правда у друзей на "Сеге".)

Однако, первый неприятный сюрприз ждал в условиях конкурса - подсчет баллов. Оказывается подсчет баллов теперь осуществляется - 100 баллов за задание(при учете, что все тест кейсы положительные) и + за скорость(по формуле где Swift имеет коэффициент примерно 1.29, как и JS, а вот максимальный С# - 2). Всего 8 заданий - значит минимум 800 баллов без надбавок. А вот сколько за скорость? Ответ был найден быстро - только взглянув на турнирную таблицу (Топ-1 - примерно - 3400 баллов). То есть 2400 надбавка за скорость (предположим C# - значит в общем за Swift при таком же идеальном выполнении я получу - 2477 баллов). Тут-то интерес начал угасать.

А, эскиз победителей уже нарисовался.

Пройдя два задания и поняв, что быстрее отведенного времени я не успеваю, а значит надбавки за скорость нет. Я взглянул на обновленный топ и увидев (Топ-1 - 5500 баллов) моей грусти не было предела.

Так и закрыл я Sberfight до конца февраля, пока мне на почту не упало письмо от рекрутера Sber. (Что это была массовая рассылка - это понятно, но зачем за два задания из 8 для меня осталось вопросом.) Но такая напоминалка заинтриговала меня глянуть на лидеров и каким же было мое удивление, когда Топ 1 - стоял 3400 баллов. Понятно, кто-то нашел баг, накрутил себе баллов, а теперь все пофиксили. Вот тут интерес и разогрелся, увы, оставалось два дня.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность