2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11 ... 23  След.
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 21:17 
Аватара пользователя
mihaild в сообщении #1600112 писал(а):
Потому что в момент запроса суммы модель не может видеть одновременно оба нужных числа.

Не понимаю почему, если максимально возможная длина запроса - 1 млрд токенов, а в списке - 1 млн чисел.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 21:29 
Потому что токен не число.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 21:43 
Аватара пользователя
Webpack
А что - цифра, т.е. числа пишутся не цифрами, а прописью?

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 22:23 
Аватара пользователя
MoonWatcher в сообщении #1600134 писал(а):
Не понимаю почему, если максимально возможная длина запроса - 1 млрд токенов, а в списке - 1 млн чисел
Какая "длина запроса"?
Длина контекста - допустим, миллиард. Но большая часть этого миллиарда в момент запроса недоступна, за счёт чего и достигается ускорение.
Архитектура модели формально позволяет это ограничение обойти: модель должна ответить: "Так, посмотрим, первое число какое было? А, вот такое: $X$. А второе? Сейчас, подождите, смотрю. Ага, $Y$" - и подбирать моменты вывода $X$ и $Y$ таким образом, чтобы в момент их генерации соответствующие токены были доступны. А после выписывания их всё сводится к классическому трансформеру.
Но обучить подобную штуку нереально, потому что нам в обучающей выборке придется смотреть, в какой момент будут доступны какие токены, и исходя из этого генерировать канонический ответ.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 22:30 
MoonWatcher в сообщении #1600139 писал(а):
Webpack
А что - цифра, т.е. числа пишутся не цифрами, а прописью?

Под токеном разработчик может понимать что угодно.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 22:37 
Аватара пользователя
mihaild
Насколько я понял, предложенная в той работе версия трансформерной модели преодолевает квадратичную сложность - она возрастает линейно. Если обучить нереально, то о чем эта работа? :?:

mihaild в сообщении #1600148 писал(а):
Какая "длина запроса"?

Запрос, контекст, последовательность, промпт - не знаю как правильно.

Webpack
Токен, насколько я понимаю - лексема. С точки зрения лингвистики это категория ("стол"), которая может иметь множество слов-склонений ("столу", "столов" и т.д.) А в языковых моделях почему-то наоборот - длине контекста в 32 тыс токенов соответствует меньшее количество фактических слов в этом контексте. Число я до сих воспринимал как токен.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 23:08 
Аватара пользователя
MoonWatcher в сообщении #1600150 писал(а):
Если обучить нереально, то о чем эта работа?
Я про то, что обучить модель делать то, что я написал (ждать, пока в паттерн попадет нужный токен) нереально. Тут проблема не во времени обучения, а в составлении датасета.
MoonWatcher в сообщении #1600150 писал(а):
Запрос, контекст, последовательность - не знаю как правильно
Я просто не понимаю, о чем речь.
У нас есть контекст - последовательность токенов (с хорошей точностью можно считать последовательностью слов), который подается на вход.
Дальше мы его как-то обрабатываем, выдаем новый токен, дописываем его в последовательность и возвращаемся на исходную позицию.
И весь вопрос в том, как контекст обрабатывать. И тут хочется обрабатывать побольше токенов и каким-то однородным образом. Товарищи предлагают следующую систему: если у нас есть токены $x_{-1}, x_{-2}, \ldots, x_{-n}$ (предыдущие), и мы хотим угадать токен $x_0$ - давайте не будем смотреть на все эти $n$ токенов, а будем смотреть только на (условно) токены $x_{-1}, x_{-2}, x_{-4}, x_{-8}, \ldots$ - это позволяет нам учитывать токен, который был миллион слов назад, но при этом прямо сейчас смотреть только на $20$ токенов, что вычислительно просто.
У такого подхода есть очевидная проблема: мы можем сейчас посмотреть на токен $x_{-65536}$, но довольно долго не сможем посмотреть на токен $x_{-60000}$.
Там не всё так плохо, и токены, которые были очень давно, всё же можно использовать чуть более эффективно, чем если нам просто сейчас случайно повезет на нужный наткнуться - за счет того, что если мы сейчас видим токен $x_{-65536}$ и понимаем, что он нам скоро понадобится - не обязательно текущий токен от него зависит, но один из тех что скоро будут, то мы можем его запомнить. Но как в этой постановке учить модель "тянуть время" пока она не сможет посмотреть на нужный ей старый кусок контекста - непонятно.

-- 06.07.2023, 22:15 --

MoonWatcher, токен - это некоторая последовательность байт. Подбирается таким образом, чтобы часто встречающиеся последовательности байт получались конкатенацией небольшого числа токенов (например в GPT3 слово в среднем кодируется полутора токенами).
Число, в зависимости от количества цифр, может быть как одним так и несколькими токенами. Но я говорил не о том, что 1 миллион длинных чисел выходит за миллиард токенов контекста - это тривиально, неинтересно и неважно.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 23:24 
Аватара пользователя
mihaild
Сразу прошу прощения за тупые вопросы - я в этом ничего не понимаю, соответственно опираюсь на свое невежественное толкование. По поводу токенов, на которые смотрит модель:
Цитата:
Трансформер — не рекуррентная нейросеть. Он не передает весь контекст по цепочке и не выбирает из него нужные части. Зато при каждом новом предсказании трансформер фокусирует внимание только на тех на словах, которые считает важными.
Спойлер: внимание вкратце — это умножение вектора слова на числа. Если слово важное — множители будут большими и вектор слова «выделится» среди соседей.
отсюда

Вы с этим согласны? Если да, то чем это отличается от "давайте не будем смотреть на все эти n токенов, а будем смотреть только на (условно) токены..."?

Или все-таки классические трансформеры смотрят на все токены, и в этой работе просто "халтурят" - не обходят квадратичную сложность, а просто отбирают самые важные токены - из-за чего пострадает качество модели? Мне попадался термин "глобальное внимание" - может это и есть внимание ко всем токенам? В свою очередь в этой работе оперируют "dilated attention" - рассеянное внимание?

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение06.07.2023, 23:52 
Аватара пользователя
Да, это правильно.
Чуть более строго, у нас следующая система: есть набор ключей и значений, $k_i$ и $v_i$, и есть запрос $q$. Global attention считает веса $w_i = f(q, k_i)$, и генерирует ответ $r = \sum_i w_i v_i$.
Local attention, примером которого является эта статья, делает почти то же самое, только веса считает как $w_i = \begin{cases} f(q, k_i), i \in C \\ 0, i \not \in C \end{cases}$, где $C$ - некоторое множество индексов, на которые сейчас смотрим. И дальше вопрос, как выбирать $C$. В данной статье в качестве $C$ берется просто фиксированное множество вида $\{1, 2, \ldots, w, w + r, w + 2r, \ldots, w^2, w^2 + r^2, \ldots, w^3, w^3 + r^3, w^3 + 2r^3, \ldots\}$.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение07.07.2023, 00:12 
Аватара пользователя
mihaild
А как насчет предыдущих работ, с 1 и даже 5 млн токенов (см. мои ссылки выше) - там тоже применяется локальное/рассеянное внимание? Если да, то интересно в чем разница - в том, как отбираются заслуживающие внимания токены? Можно ли как-то оценить насколько страдает качество из-за применения подобных приемов?

И как насчет глобального внимания на большом контексте (1 млн, 1 млрд) - проблема только в квадратичной сложности? Соответственно при достаточно больших производительности и памяти проблема решаема?

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение07.07.2023, 00:35 
Аватара пользователя
MoonWatcher, есть разные подходы. Есть sparse методы (как выше), есть hierarchial (бьем текст на блоки, эффективно уменьшая его длину, делаем attention на блоки и потом внутри блоков). Была в прошлом году красивая модель с использованием KNN, где приближенно считался честный attention по всему контексту, но градиент пропускался только через свежую часть.
MoonWatcher в сообщении #1600160 писал(а):
Соответственно при достаточно больших производительности и памяти проблема решаема?
Может оказаться, что железо под нужную длину контекста сделать невозможно. См. выше: обучение GPT4 стоило 100 миллионов. Конечно неизвестно, что это на самом деле значит (какая часть из этого ушла на зарплаты разработчикам), но если просто квадратично масштабировать - то увеличение контекста в 1000 раз даст стоимость обучения как раз в мировой годовой ВВП.

Ну и лично мне это кажется странным подходом. На высоком уровне абстракции, человек при решении задач не заучивает книги наизусть (что соответствует помещению всей нужной информации в контекст), он примерно запоминает где что написано (иногда сам пишет это в заметках) и потом к нужным источникам возвращается. Попытки это в каком-то смысле воспроизвести есть, но пока безуспешные.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение07.07.2023, 01:09 
Аватара пользователя
mihaild
До сих производительность росла почти в геометрической прогрессии, поэтому ИМХО не вполне корректно проецировать на будущее нынешнюю стоимость обучения. Radeon Instinct MI300 (600 Вт) имеет производительность 48 TFLOPS - больше, чем самый быстрый в мире суперкомпьютер 20-летней давности (3.2 МВт). Если замедление закона Мура будет уравновешено новыми архитектурными решениями (нейроморфные процессоры и т.д.), то еще через 20 лет полноценное обучение на контексте в 1 млрд токенов может стать реальностью.

Насколько это целесообразно - вопрос конечно интересный. Навскидку могу предположить, что это позволит загрузить в контекст модели, например, 30 млн накопленных на сегодня публикаций по теме мозга - и попросить систематизировать всю эту информацию, найти в ней противоречия, плагиат, воду, выделить самые оригинальные исследования и т.д. Это конечно уже не 1 млрд токенов, а скорее 1 трлн, но полезным будет любое увеличение контекста. Этим и будет отличаться искусственный сверхразум от человека, который даже одну книгу не в состоянии толком запомнить.

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение07.07.2023, 02:46 
На «размере окна» (извините, т.н. «контекста») спекулируют все кому не лень. Это все понимают и это легче всего. В интернет-публикации можно написать и триллион и сто триллионов, всё равно никто не проверит. А в случае чего прикрыться собственным определением т.н. «токена», к примеру $10^{-9}$ байт.

-- 07.07.2023, 02:49 --

MoonWatcher в сообщении #1600167 писал(а):
[b]
Насколько это целесообразно - вопрос конечно интересный. Навскидку могу предположить, что это позволит загрузить в контекст модели, например, 30 млн накопленных на сегодня публикаций по теме мозга - и попросить систематизировать всю эту информацию, найти в ней противоречия, плагиат, воду, выделить самые оригинальные исследования и т.д. Это конечно уже не 1 млрд токенов, а скорее 1 трлн, но полезным будет любое увеличение контекста. Этим и будет отличаться искусственный сверхразум от человека, который даже одну книгу не в состоянии толком запомнить.


Сколько книг способен запомнить ваш компьютер? Терабайт ПЗУ и пара гигабайт ОЗУ в нем есть? Следовательно, это искусственный сверхразум?

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение07.07.2023, 08:40 
Аватара пользователя
Webpack в сообщении #1600187 писал(а):
т.н. «токена», к примеру $10^{-9}$ байт.

Что это вообще значит, одна миллиардная байта?

 
 
 
 Re: Решение математических задач с помощью ChatGPT
Сообщение07.07.2023, 11:29 
Аватара пользователя
MoonWatcher, да, еще радикального роста производительности исключать нельзя. Но прорывов не было уже довольно давно - рост мощностей в первую очередь за счет параллелизма (больше ядер на кристалле, больше кристаллов в одном запуске). Будут ли еще прорывы - непонятно.
С очень длинными контекстами, кроме собственно производительности, могут быть еще проблемы (на чем учить; что там будет с positional encoding), о которых мы пока не знаем.

 
 
 [ Сообщений: 338 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11 ... 23  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group