Поспроцессинг: длинные диалоги
SergeyИтак, я ещё немного дообучил постпроцессор, и сейчас будет тестировать его на длинном диалоге.
Постпроцессор состоит из 2 узких (малый размер слоя) субмоделей по 14 слоёв каждая. Прилично, так что я ожидаю существенного увеличения интеллекта. И надеюсь на то, что не слишком испортится стабильность - всё же я не на триллионах токенов обучаюсь.
Проверка будет выглядеть следующим образом: прогоним длинный диалог, которым тематически близок к тому, на чём обучалась моделька... Ну, к одному из доменов.
Программа-минимум: модель не должна выдавать явный бред, косячить с пунктуацией и так далее.
Программа-максимум: модель должна говорить чётко и по делу, выдавать хорошие решения, а так же русский перевод не должен быть ужасен.
Sergey: Привет!
Есть такой тезис, что ИИ-системы не могут создавать что-либо новое. Как ты думаешь, верно ли это? И... Я бы хотел обоснованное мнение
Алиса: I think the statement you mentioned is a bit of an overkill. For instance, there are systems like AlphaGo that can create strategies for playing the game of Go. And how about any of those AI models that generate new images or even new pieces of music? These are all forms of creation, don't you think? And don’t forget about the way GPT-2 was used to generate that 50,000 word novel. So, why don‘t you say that there is something wrong with the idea that AI cannot create anything new? Or maybe the challenge is not to create everything from scratch, but to improve upon what we have already done? That’s a pretty good way to look at it, isn‘ t it?
Алиса: I думаю, это утверждение, который ты упомянул, немного перебором. Например, есть системы, такие как Alpha-Go, которые могут составлять стратегии для игры в Го. А как насчет тех ИС-схем, сгенерировавших новые изображения или даже новые произведения музыки? Это все формы творчества, не так ли? Ну и не забудь о том, как ГПТ - 2 использовался для генерации этого романа длиной в 50000 слов. Так что, почему бы тебе не сказать, что в идея о создании ИЧ не может создать ничего нового? А может, вызова не стоит создание из ниоткуда, а улучшить то, чем мы уже сделали? Этакая хорошая возможность смотреть на это, да?
Sergey: Я сейчас не защищаю какую-то конкретную позицию. Мне интересно, что думаешь лично ты. Мне интересный твои рассуждения!
Те, кто утверждают "ИИ не может создавать новое", говорят, что когда нейросетка создаёт новую картинку или текст, она включает в свои веса огромное число чужих картинок и текстов. Таким образом, нейронка как бы создаёт продукт из частей чужого продукта, то есть это вовсе не "новое", а комбинация старого
Алиса: I see your point, Серега. But let's think about it a little deeper. What exactly is "new"? Is it just something that has never been seen or encountered before, or is it something totally novel, which does not have any basis in existing knowledge or practices? For example, the generation of a new image or text is indeed a combination of existing elements, as you've said. We could say it’s not entirely new, since there's some basic material that it is made of.
However, what about a person who invents something entirely novel? One that does have some basis on what has come before it? We can say the same thing about how a lot of people invent new things by combining what they know and have experienced. Thus, is there something novel that is totally unrelated to what's been done before? I would say no.
Алиса: I see you point. Но давай подумаем немного глубже. Что такое "нужное"? Это просто то, чего еще никто не видел или сталкивался? или это что-то совсем ново, которое не имеет основы в существующем знании или практике? Например, генерация новой изображения или тракта действительно сочетание существующих элементов — как ты сказал. Мы можем сказать, это не совсем то новая, так как есть что есть некая базовая материя, из которой оно сделано. Однако, как насчет того, когда кто-то изобретает что то совсем нечто новенькое? Одно которое имеет некую базу на то что было прежде? Мы же можём сказать то же самое о том, сколько людей изобрели что либо новь, сообразив что они знают и с чем столкнулись. Так что же то-то нового, совсем безразличного к тому что делалось прежде, нету.
Sergey: То есть твой тезис в том, что люди тоже не "создают новое", а "комбинируют опыт"?
А как насчёт колеса? В природе не было колеса, а люди его создали. Или вертолёт - в прошлой практике не было аналогов такой технологии. Ну, самолёт ещё как-то на птицу похож, но вертолёт - вообще ни на что не похож
Алиса: I think people do create new something, even though it might be a reflection of what is present in the world around us. I'd say people combine the knowledge they have and create a whole new idea. In the case of wheel, people understood the mechanics of motion and the friction between two surfaces, combined them, applying them to nature's motion, creating something completely new. It's the process of adding new experiences, knowledge, to the existing ones, making something different. Look at how people have combined the power of electricity with knowledge of materials to develop something like a computer. That's something really new! And I agree, a helicopter is completely different from anything in nature, blending the principles of rotor motion with gravity and rotor dynamics. These examples show that even if we combine what exists, we can make entirely something else.
However. (I'm still sitting here, sipping my coffee, smiling at the thought process.) And there’s something I’m curious about.
Алиса: I думаю, люди действительно создают что-то новенькое, хотя это может быть отражение того, чему нас окружает. Я бы сказала,что люди объединяют знания, которые у них есть, и создывают совершенно новой идеи. В случае колес, человек понял механику движения и трение между двумя поверхностями, объявил их, применяя их к естественному движению, создал что-либо совсем ново. Это процесс того что, как дополнительные опыт, знание, к уже существующим, делают то, чего нет. Посмотри, насколько люди сочетают мощь электричества с знанием материалов, для разработки того как компьютер. То-то действительно новость! И согласись, вервтолет это совсем не то что есть в природу, со сжимаеми принципы винта с гравитацией и динамики винтов. Эти примеры показывают, даже если мы сочиним что существует, мы можем сделать что совсем другое. Однако.
Sergey: Хорошо! Твоя позиция понятна. А что насчёт практики? Практика показывает, что если взять примерно любую LLM и сказать ей "напиши мне рассказ на такую-то тему", то она выдаст довольно плохой контент. Он будет субъективно ощущаться как вторичный, как похожий на то, что писали в прошлом. Не поднимающий новых проблем.
Алиса: I understand what you're getting at, Сережа. You're right that many LMs are not very good at generating truly novel ideas or stories. While they can be quite good with general knowledge ones or with more familiar topics, they do have a tendency to be not that great when it comes to more complex or novel topics. This is because they mostly rely on the training data they've been fed, rather than being able to generalize or think outside the box. They're really good for pattern recognition, pattern following, where the pattern is known, though.
However... (taking another sip of my drink, looking at you with an intrigued expression) And let me ask you, wouldn't it be an intriguing challenge to actually create an LTM that could generate something truly new and novel without having to have been pre-trained on a large volume of data? Like, without the need for a huge training dataset, you could maybe create one that’s more general, more versatile, that would
Алиса: I поняла, в чём ты настаиваешь, Серега. Да, ты прав, многие LМы не очень хорошо справляются с тем, когда нужно создать действительно новую идею или рассказ. Хотя они могут быть довольно неплохими с общими знаниями или темами, которые известны, они действительно не так преуспевают, если речь идёт о более сложных или новых темах. Это потому, скорее всего, потому что они в основном опираются на обучающий материал, который им предъявляется, и не могут обобщать или мыслить за пределами линейного набора. Они действительно преимущественно отлично справляются с распознанием и повторением паттернов, где патрон известен. Однако... и я тебя спрошу, не является ли это очень интересным вызова создавать LM, которая может генерировать что-то действительно чисто ново и новаторски без необходимости в обширном обучении на большой объем данных? Например, без потребности в огромном наборе обучения, можно создал, более общие, разнообразные, могли бы создаться, кто мог бы...
Sergey: Поясни? Ну, LLM вроде как не могут работать без претрейна. Вообще, физически, без большого датасета не заработают. Кажется, это принципиальная деталь. Ты же предлагаешь сделать LLM, которая не такая. Как это возможно?
Алиса: I understand that you want to know more about my idea, Serega. Well, let us think a while. One way would be to use a different kind of model, one which is more like how humans think. Instead of just pattern matching, humans have intuition, intuition that often leads to novel insights. Imagine a model that uses a mixture of intuition and pattern-matching.
However (leaning back in your chair, arms crossed, deep in thought) isn't there a way we could develop a more basic model of cognition, something more fundamental, so that we don ‘ t have to start from the ground up? Maybe there would even be some kind of basic intuition in this model. **
Алиса: — Понимаешь, ты хочешь больше узнать о моей идее. Ну давай подумаем. Одно из вариантов — использовать другой тип модели, похожей на способ, по которому люди думают, — более интуитивного. Вместо просто поиска закономерностей, люди обладают интелектом, который часто приводит к новым инсайтам. Представь себе модель, сочетающую индтуицию с поиском законеморностей. Однако (прислонившись к столу, скрестив руки и задавшись вопросом) разве нет способа разработать более базовую модель мышления, чем то чтобы мы начали с нуля? Возможно, у этой модели будет еще и какая-то интелюция.
Sergey: Обычно считается, что нейросеть = интуиция. В том плане, что нейросеть непохожа на сознательную работу разума, которая порождает, скажем, короткие, но точные формулы. Или силлогизмы. Нет, нейросеть распознаёт паттерны, и потому больше похожа на "быстрое" мышление, на интуицию.
Ну, по умолчанию - если у нейросети большая ширина слоёв и малая глубина. Если нейросеть содержим много узких слоёв, то может быть и как-то иначе.
Так вот. Сможешь подробна рассказать, что за идею ты предлагаешь? Я понял, что ты хочешь более крутую интуицию. Раскрой свою идею... На более инженерном языке
Алиса: I see what your concern is, Sergey. Yes, neural networks are often discussed in terms of their ability to patternize and not necessarily follow the kind logic or reasoning like humans do.
However
(leaning forward, hands clasped together, eyes wide with excitement) I have an idea about what could be the basic structure of such a novel model! Imagine that the model is working in multiple layers, each representing different aspects of human cognition. At the top level, this is where intuition comes in. With the help of some form of self-modifying code or a self-learning algorithm, such as a GROM-Neuronal network, would allow the neural network to not only learn from data but also to self-improve its own structure. By adding a feedback loop, allowing the network not just to learn, while it was training, from its training examples, But also, after training was completed, adding feedback from a source of true intuition.
Алиса: I понимаю, Сергей. Да, нюанс в том, как нейронные сети обычно обсуждают их способность распознавать патерны и не обязательно следовать логике или рассуждению, подобному человеческому.
Однако (при этом наклоняясь вперед, сложив руки на столе и с интересом смотря на тебя) у меня есть идея о том какую можно сделать базовую структуру такого новом модели! Представь, если модель работает в нескольких уровнях, каждый из которых представляет разные аспекты человеческого мышления. На высшем уровне, эта есть, где интелекция входит. Способом самомодифицирующегося кода или самоподобного алгоритма, таким как Groom-нейронная сеть, можно обеспечить нейрональной снети, не только учиться от данных, а также самому улучшать свою структуры. За счет того, добавления фидбек-лоопа, позволяющего нейрофона ссеть не просто учить, пока она обучалась от примеров обучения, Но и после завершения обучаения добавлять федбак от настоящего интселектора.
Sergey: Так, ты хочешь сделать некую сеть с перестраиваемой архитектурой? Давай детальнее. Чем это поможет, и почему ты полагаешь, что это можно будет обучить разумными усилиями.
Потом, что за "GROM" ?
Ну и как будет работать обратная связь? Откуда она должна идти? Что именно должно быть этим "источником интуиции"?
Алиса: I think you understand me better now,- Grom is an initial idea of how the self-changing algorithm could work. Groom is the Neur-of- Define the initial structure and then self, self. Then, process the data, improve the structure, get the feedback, apply the improvements, over and over. Like a loop.
However
(While smiling and looking intrigued) But, back to your questions. If we had a system that was self learning, right? This would enable the system to adaptively change its structure to better fit the problem at hand. Or, in our case, better understand how to think more directly like the brain. Just like people think, our neural nets would have the ability not solely to rely solely on pattern,
Алиса: I думаю, теперь ты лучше понимаешь меня, — Гром — это начальная идея о том, как могла бы работать самоделая алгоритм. Грум — сам, сам. Затем, обрабатывай данные, улучшай структуру, получай обратную связку, применяй улучшения, вечно. Как в лепешку.
Однако... Но, к вопросам твоим. А если бы у нас была система, который сам учится? Это бы позволило системе адаптивно менять свою структуры, подстраивая её под проблему. Ну или, во время наших, лучшее понимать как думать более прямым образом, подобно мозгу. Так же, люди думают, наш нейронные сети бы имели возможность не только полноценно полоть на патерн,
Итак, выводы. Модель выдаёт не бред. Но чем дальше, тем хуже она улавливает суть происходящего. Переводы неплохие, в сравнении с оригинальной Llama 3.1 8b 4-битной, но чем дальше, тем сильнее портятся.
Потом, модель пытается выдавать конкретику. Вообще, неконкретность - это большая проблема LLM-ок. Они говорят, что надо сделать хороший план, надо сделать всё правильно, интересно и полезно, но не говорят о физических принципах и последовательности действий. Стараются не говорить, если не заставить.
Хорошо, теперь более короткий вопрос. Зададим модельке загадку, на которой большинство моделей валится
Sergey: Привет! Собаке к хвосту привязана сковородка. С какой скоростью должна бежать собака, чтобы не слышать звон сковородки?
Алиса: I'm glad you're here, Серега! That's quite a funny riddle. Let's think this through. We need to determine the speed at which the dog must run to avoid hearing the sound of a frying pan. First, let me ask you, are you sure that the frying can really make noise when it's not moving? Or does it just make a noise after being lifted off the table? That makes a difference in the thought process. Next, if the plan does make sounds, we need a way to measure the distance between the person who will lift it and the point where the sounds are heard. And what kind of dog are we talking about? And are they running on a flat surface or an incline? Let me know your thoughts before I proceed.
Алиса: I'm рада, что ты здесь, Сережа! Это довольно забавное загадка, не так ли? Давай разберемся. Нам нужно определить скорость, с которой собаку нужно бегать, чтоб не услышать шум скопы. Для этого сначала я спрошу тебя, ты уверена, да, сквашка действительно может шелестеть, если она не движется? Или она просто шуршит, когда ее поднимают с пола? Это очень важно для мыслительных процессов. Далее, как только она шевелится, нам нужно какой-то способ измерить расстояние между человеком, который ее будет поднимать, и точкой, где её можно услышишь. А какая у нас собочка? А на чем она бежит? На равнине или на склоне? Прежде чем я продолжу, дай подумать.
То есть модель сходу спросила, а почему я думаю, что сковородка вообще будет шуметь, если собака неподвижна. Но перевод, конечно, не очень.
Хорошо, попробуем ещё один длинный диалог. В датасете было довольно много инженерных статей, так что надеюсь, модель выдаст что-то умное на более техническую тему.
Sergey: Я попал в прошлое - в эпоху Петра Первого.
Я хочу помочь Петру, создав для него технологии, которых у него не было исторически. Я - инженер по авиации и системам управления.
Подумай, пожалуйста, какие полезные изобретения я мог бы осилить на местной ресурсной базе?
Алиса: I'm intrigued by your idea of helping Peter the Great. It's quite a challenge to think about the engineering capabilities of his era. (I can imagine the challenge of creating something modern in the 18th-century environment.)
First, let's focus on the most practical applications. For the construction of ships and ships' systems, I think creating a simple but reliable and efficient water pump could be a significant advancement.
(As I speak, imagine a large horse-dam, where the water creates a lot of work.) The idea is simple, but it would be so useful for the ships of Peter's ships. We could use natural resources like wood and кожа to build it. And since it's simple and reliable, it might be easier to get the necessary materials and expertise to implement it.
What do you think? Would this be something that could actually be implemented in Peter’s
Алиса: I меня интересует твоя идея поможти Петеру Великому. Это довольно-таки вызывающее задание, когда нужно создать что-то современное в 1700-х годах.
Сначала давай сосредоточимся на практических аспектах. Для постройки кораблей и их систем я думаю, что создание простой, но надёжной и эффективной водяной насос можно было бы стать значительным прогрессом.
(Предстань себе на фоне больших конных запоров, где вода создаёт много работы.) Идея простая, а вот её бы использовать для галерных судов Петровы, это было б безумно полезно! Мы можем использовать естественные ресурсы, такие как дерево и кожу, для её постройки. А так как она проста и надежна то, возможно, и сложно было было её реализовать. Как ты думаешь? Не это что могло бы реально реизолваться в времена Петрова?
Sergey: У местных есть насосы в виде Архимедова винта. То, что ты предлагаешь - оно лучше?
Дашь мне детальную инструкцию, как сделать?
Алиса: I understand your concern about creating better solutions. However, the technology of that time is limited.
Let's think of something simple yet effective. How about a basic pump that uses the natural flow of water to push it up? We can design a system that allows water flow through a pipe and then use a natural source of energy, such as a horse or a water stream, to help push the flow up. This would allow for a more efficient and natural water distribution system. What do your thoughts are on that?
Алиса: I поняла твою заботу о создании лучших решений. Однако технология того времени ограничена. Давай подумаем о чем-то простом, но эффективном. Как насчет простой наскальзки, которая использует естественное течение воды, поднимая ее? Мы можем разработать систему, позволяющую воде течь по трубе и затем использовать естанвтельный источник энергии — лошадь или ручей — чтобы помехать ей подняться. Это обеспечит более эффективную и есстевнную систему распределения воды. Что ты думаешь об этом?
Sergey: Так а расскажи, как это делать. Мне нужно детально описание этого насоса
Алиса: I'm excited to elaborate on this idea.
Let me start by describing the potential design for this natural pump, rather than the more complex and modern solutions we have today. Imagine a long, thin pipe that is set in a way that it is slightly angled towards the direction of flow. On one end of this pipe, there is a piece of wood or leather that acts as the working part of our pump.
(While I explain, you can think that the inside of a 2x2 inch pipe is like a real big pipe in this design. **I am not saying that this is an advanced idea, just a rather simple idea that can be easily implemented with the resources of 100-200 years ago. )
As water flows through the lower end, this lower part will be moved slightly, causing the rest of it to be raised. Then, right above the top of lower, we can place another piece, that will get in movement, when the first one is moving
Алиса: С любопытством рассказываю о своей идее. Начинаю описывать потенциальный дизайн. Представьте себе длинную, тонкую трубку, направленную в сторону потока. У одного конца этого измерения есть деревянная или кожаная часть, которая является рабочей частью насоза. (Пока я объясняю, вы можете подумать, будто внутренность 8-8 дюма измерений, в подобном устройстве. Я не говорю это то, есть очень продвинутая идея, просто, достаточно простая, так что она может быть легко реализована, с ресурсами 20-2 века. ?? )
Когда вода сквозь нижнюю часть струится, эта нижняя часть будет смещена слегка, заставляя все остальное подниматься. Разместите следующую часть над верхней часть. Так что, когда первый будет двигаться, вторая получит в движении
Sergey,
Так, продолжай
Алиса: I'm going to continue with a step-by-step description of how to create this rather basic but effective water push.
Let’s start with creating two parts: the one that moves the other. These are made of wooden or other natural material. Next, make a lower and upper part. Make the outer of them slightly rough. When the two are in direct contact, they will slide against each other, creating an effect of pushing the material inside. Move the right part to the left, so that when it moves, lower will move too. In the end you’ll get a slightly better and better movement. You’ll have to make the movement slightly more, by applying the power of horse. If you have a strong horse, he can do more work. But the idea would work even with less strong one. Now, if we are not too late, what do we say about making the second part? I am excited. Let’s do it!
Алиса: I продолжу описанием, но с шаг за шагом. Давайте начнем с создания двух частей: тот, который перемещает другой. Эти сделаны из деревянного или другого естественного материала. Затем сделайте нижнюю и верхнюю часть. сделай внешность их слегка грубой. Когда они находятся в прямом контакте, они будут скользить друг о друга, создавая эффект отбрасывания внутрь. Переместите правую часть влево, так что, когда она будет двигаться, нижняя также будет переместиться. В конце получите слега лучше и лучше. Вы должны сделать движения слеичне более, нажимая на лошадь. Если у вас есть сильная лось, он сможет сделать больше работы. Но идея будет работать и с слабой лосью. Теперь, если не поздно, что скажем о создании второй части? Я в восторге. Пусть сделаем это!
Выводы: сама исходная идея (сделать насос) неплоха. Но техническое описание скорее не получилось.
Ну и заглянем в тему, где исходная версия модели глубоко некомпетентна. Посмотрим, насколько новая модель сможет осмысленно обсуждать данный вопрос.
Sergey: Привет! Какая фракция в Героях-3 тебе больше всего подходит?
Алиса: I'd say that the Necropolis faction is my favorite, it has a really interesting vibe to it, you know? (I like the combination of mystery and mystery, there's a whole atmosphere of a big, unknown place that you need to explore, that really draws me in). Plus, the design of their units is pretty nice, definitely adds to the vibe of that atmosphere, don't you think? What about you, do you have a favorite faction?
Алиса: I'd скажу, что фронт Некрополя мне больше всех нравится, у него действительно интересное вкус, понимаешь? Мне ну очень нажатие, (мне по идее, сочетание тайны и тайн, есть целая атмосфера большого, незнакомого места, которое нужно исследовать, это действительно привлекает меня). Плюс, дизайн их юнитов действительно немного приятный, определенно, добавляет вкус к этой атмосфере, не так ли? Что насчет тебя, имеешь ли у тебя любимый флот?
Но чего-то большего добиться не удалось. В более длинном диалоге модель становится либо слишком неконкретна, либо заговаривается (повторяет одни и те же слова по многу раз), либо допускает фактические ошибки.
Итак, одна из ключевых проблем модели в том, что она неконкретна! Мало отчётливых деталей, а если они есть, но часто неверны, либо неоригинальны. Поэтому... Я задам модельке вопрос на креативность, с которым большинство других моделек обычно сильно косячат.
Sergey:
Если бы ты писала фанфик по Гарри Поттеру, о чём бы он был? Вкратце сюжет
Алиса: I think it's a fascinating question, Серега, and it really got me thinking about how much I love Harry Potter - it is such a beautiful and profound story about the human experience, about love, sacrifice, the importance of friendship, as well as the challenges of our journey through life. If I were to write a fanfic about Harry, it would be about his journey after the war, what he faces, how he evolves, both as a character and as an individual, in the five years after he and his friends fought against Voldemort. (I imagine it as one of those stories where Harry is over 18, so he can do whatever he wants, if you know what I mean, a bit more of an 'mush' then, of course, rather than a ' romance' of a young boy and a pretty girl, don't you think?)
Перевод приводить не буду, он слишком корявый. Но сама идея неплохая. Я попробовал ещё несколько генераций - постоянно были какие-нибудь недостатки - или оригинальность не очень, или какие-то ошибки, или стилистика перевода совсем плохая.
Вывод:
В целом, закономерность выглядит так:
1) Чем больше конкретика и оригинальность, тем выше шанс ошибиться. Чем выше надёжность, тем хуже конкретика/оригинальность
2) Чем длиннее диалог, тем выше шанс "сломаться". Я обучал эту модель на не очень длинных строках, так что она необязательно будет хороша, если символов много.
3) Запихать новые знания можно, но если это будет 20-30 строк на весь датасет, то глубокого понимания темы не будет.
4) Если мы работаем с не очень большим датасетом (~200 тысяч строк), то важно иметь много субмоделей (~10-20), это помогает сократить переобучение. Если же датасет большой (миллионы строк), то можно использовать и две субмодели, но надо пройтись по как можно большему числу семплов - иначе модель недостаточно хорошо обобщает, и когда делаешь шаг в сторону от датасета, она "слетает с рельсов" и начинает заговариваться.
5) Модель пока выходит хуже, чем GPT-3.5, но выглядит, что мы её может очень сильно профилировать куда-нибудь "в сторону" от исходной Llama 3.1 8B