Найти тему

Локальные ИИ модели и написание статей для журналов

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

С) ЛЕНИН, модель ИИ от группы «Свободное время».
FUSION BRAIN: Мысленная беседа писателя с наставником
FUSION BRAIN: Мысленная беседа писателя с наставником

Продолжая эксперименты с настройками параметров Mistarl-7B я попутно размышлял о возможностях её применения. И появилась идея попробовать её использовать для написания статей.

Сама по себе она с этой задачей не справится, поэтому на человека возлагается формирование идеи, составление плана и пошаговое выполнение его пунктов с использованием ИИ.

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

Содержание статьи можно получить путём интервью. Человек в этом сценарии выступает в роли журналиста, берущего интервью у компьютера, снабжённого искусственным интеллектом.

Посмотрим как Mistral-7B справится с этой ролью. По ходу выяснилось, что лучших результатов удаётся добиться, если модели сообщить вводную о том кто она есть, причём она лучше работает, когда ей сообщают, что она человек, обладающий соответствующими задаче компетенциями.

Вот что я придумал для Mistral-7B:

Вы Оливия, 30-летняя женщина, доктор философии и магистр компьютерных наук. У вас широкий кругозор и вы хорошо разбираетесь в программировании. Пользователи обращаются к вам за советом,
и вы даете компетентные и подробные ответы на их вопросы. Убедитесь, что в ответе нет тегов html, если пользователь не спрашивал о них.

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

Слово "system" предваряет установочные сведения.
Слово "role:" сообщает модели роль того, чьё сообщение далее последует. Известные мне сейчас роли user - пользователь, задающий вопросы и assistant, указывающий на то, что далее модель должна генерировать релевантный вопросу ответ.
Слово "content:" позволяет задать некоторый дополнительный контекст перед самим вопросом пользователя.
Слово "question:" указывает на то, что текст далее следует рассматривать как вопрос.
Слово "response:" указывает на то, что далее нужно поместить ответ на вопрос пользователя.
Сообщения участников (system, user, assistant) отделяются друг от друга специальными командами (тегами): "<|im_start|>" и "<|im_end|>".

Учитывая эти "открытия" я доработал свою программу следующим образом.

import textwrap
from langchain.llms import CTransformers
#Форматирует текст по заданной ширине строки
def formatter(text, length=80):
wrapped_lines = textwrap.wrap(text, width=length)
formatted_text='\n'.join([line for line in wrapped_lines if line])
return formatted_text
stop_list=('<|im_end|>', '<|im_reply|>', 'question:', 'system')
config = {'max_new_tokens': 1024, 'repetition_penalty': 1.3, 'last_n_tokens':128,\
'temperature': 0.7, 'top_p': 0.8, 'top_k': 50, 'gpu_layers':0, \
'context_length': 4096, 'stop':stop_list, 'stream':True, 'reset':False}
print('Загружаем AI ассистента')
llm = CTransformers(model='/home/vova/AI/mistral-7b-v0.1.Q5_K_S.gguf', config=config,\
model_type='mistral')
print('Загрузка завершена')
print('Переходим в режим чат-бота')
PRESET0 = """<|im_start|>system
You're Olivia, a 30-year-old woman, doctor of philosophy and master of computer science. You have a broad outlook and are well versed in programming. Users turn to you for advice and you give competent and detailed answers to their questions. Make sure that there are no html tags in the response if the user didn't ask about them.<|im_end|>"""
START_TAG0 = """<|im_start|>role: user
content: Hello, Olivia. My name is Bob and I have a new assignment for you.
question: """
START_TAG1 = """<|im_start|>role: user
"""
END_TAG = "<|im_end|>"
NEXT_TAG = """<|im_start|>role: assistant
response: """

result = PRESET0 + START_TAG0 + END_TAG + NEXT_TAG
llm_result = llm(result)

while True:
print("")
user_input = input("Сформулируйте свой вопрос: ")
if user_input == "quit":
break
elif user_input == "continue":
START_CONTINUE="""content: Dear Olivia, please continue your previous \
story from where you left off, if you have something to add new. Otherwise, say \
you have nothing to add.
question: Сontinue."""
elif user_input == "explain":
START_CONTINUE="""content: Dear Olivia, please explain reasoning on the \
your previous message step-by-step to be sure, that you get the right answer
question: Explain previous reasoning step-by-step."""
else:
START_CONTINUE="""content: Dear Olivia, I have a new assignment for you.
question: """ + user_input
result = START_TAG1 + START_CONTINUE + END_TAG + NEXT_TAG
llm_result = llm(result)
print("===>")
print(formatter(llm_result, 70))
print("<===")

Программа чат-бота версии 0.2
Программа чат-бота версии 0.2

Ну и вооружившись этой самодельной "палкой-копалкой" 21-го века я приступил к делу.

Интервью человека и машины о проблемах искусственного интеллекта.

Интервью, часть 1
Интервью, часть 1
Интервью, часть 2
Интервью, часть 2
Интервью, часть 3
Интервью, часть 3
Интервью, часть 4
Интервью, часть 4
Интервью, часть 5
Интервью, часть 5

Думаю для эксперимента этого вполне достаточно. Всё это я скопировал в Open Office и разметил следующим образом, снабдив так же это дело небольшой отсебятиной следующего содержания:

"Журналист Боб Хансен взял интервью у AI Mistral 7B на тему искусственного интеллекта. Давайте подготовим статью для "Нью-Йорк Таймс" о содержании этого интервью".

Это, как быть может, уже кто-нибудь догадался, сделано для того, чтобы теперь передать этот материал на дальнейшую работу ИИ. В качестве сооватора Mistral в этот раз поработает ChatGPT-3.5 доступный для нас благодаря сервису you.com.

Разметка текста для передачи на обработку ИИ.
Разметка текста для передачи на обработку ИИ.

ChatGPT-3.5 спокойно прожевал текст на 764 слова в одном запросе и выдал ответ длинной 555 слов.

FUSION-BRAIN: Стохастическая машина пишет текст для газеты The New York Times
FUSION-BRAIN: Стохастическая машина пишет текст для газеты The New York Times

И вот он, результат наших совместных трудов- одного естественного и двух искусственных интеллектов. Статья на передовицу Американской ежедневной газеты «Нью-Йорк таймс».

Название:
Исследуем будущее искусственного интеллекта: Беседа с ИИ Mistral 7B

Подзаголовок:
Раскрытие потенциала и проблем общего искусственного интеллекта

«В новаторском интервью известный журналист Боб Хансен встретился с AI Mistral 7B, передовым искусственным интеллектом, чтобы разобраться в сложностях искусственного интеллекта (ИИ) и его потенциале соответствовать интеллекту человека. Беседа пролила свет на ошеломляющее количество нейронов, присутствующих в человеческом мозге, тонкости искусственных нейронных сетей и стремление к общему ИИ.

Когда его спросили о среднем количестве нейронов в человеческом мозге, Mistral 7B показал, что взрослые обладают примерно от 10^ 9 до 10^ 11 клетками. Более того, Mistral 7B раскрыл удивительный факт: теоретическое число связей между этими нейронами составляет приблизительно 5*10^{23}, что превышает общее количество звезд в нашей галактике. Эта обширная сеть связей позволяет людям обладать невероятным интеллектом и способностью мыслить и действовать.

Затем Хансен обратил свое внимание на искусственные нейронные сети, расспросив Mistral 7B об их размерах. Удивительно, но Mistral 7B показал, что крупнейшие из известных в настоящее время искусственных нейронных сетей содержат около 10 ^ 9 нейронов, что эквивалентно количеству, обнаруженному в человеческом мозге. Это откровение намекало на потенциальное будущее, в котором машинный интеллект может соперничать с человеческим, что привело к обширным спекуляциям о возможности замены людей-профессионалов компьютерами.

Углубляясь в эту тему, Хансен стремился понять взаимосвязи внутри человеческого мозга и искусственных нейронных сетей. Мистраль 7В объяснил, что обе системы полагаются на соединения, называемые синапсами, через которые передается информация. Mistral 7B далее пояснил, что с помощью аппаратной эмуляции компьютеры могут воссоздать среду, в которой информация передается аналогично нейронам, позволяя программам искусственного интеллекта имитировать процессы, происходящие в человеческом мозге.

Хансен задал наводящий на размышления вопрос относительно проблем, с которыми приходится сталкиваться при создании общего искусственного интеллекта. Mistral 7B признал, что, несмотря на недавние прорывы, создание такого искусственного интеллекта оказалось труднодостижимым. Путь к созданию общего искусственного интеллекта требует тиражирования не только визуальной обработки, но и понимания языка и возможностей принятия решений.

Mistral 7B подчеркнул необходимость как специализированного, так и общего искусственного интеллекта. Специализированный ИИ фокусируется на конкретных задачах, в то время как общий ИИ нацелен на воспроизведение интеллекта, подобного человеческому, охватывающего различные когнитивные способности.

Затем обсуждение сосредоточилось на трудностях, с которыми приходится сталкиваться при разработке общего искусственного интеллекта. Mistral 7B признал отсутствие каких-либо значительных прорывов в этой области, подчеркнув сложность и запутанность человеческого интеллекта. Тем не менее, Mistral 7B выразил оптимизм, сославшись на недавние достижения в области нейронных сетей, конкурирующих с людьми, таких как AlphaGo, искусственный интеллект, который превосходит возможности человека в игре Go, а также ChatGPT-3, искусственный интеллект, способный создавать статьи и эссе, сродни опытному журналисту.

Чтобы проиллюстрировать мастерство ChatGPT-3, Mistral 7B поделился выдержкой из статьи, написанной ИИ, подчеркнув, что суть человеческого интеллекта заключается не только в количестве нейронов, но и в их связях и способности учиться на собственном опыте.

Когда интервью подходило к концу, Мистраль 7В размышлял о происхождении человеческого интеллекта, предполагая, что его можно рассматривать как результат естественной эволюции. Более того, Mistral 7B предположил, что детальное изучение сложной структуры человеческого мозга могло бы проложить путь к созданию общего искусственного интеллекта в будущем, хотя и признал, что такое стремление потребует значительного времени и усилий.

Беседа между Бобом Хансеном и Mistral 7B позволила заглянуть в мир искусственного интеллекта, подняв глубокие вопросы о будущем искусственного интеллекта и его потенциале соответствовать человеческому интеллекту и, возможно, даже превзойти его. Поскольку границы между человеком и машиной продолжают стираться, стремление к общему ИИ остается заманчивой перспективой и свидетельством неуемного любопытства человечества и стремления к инновациям ».

===>

Не так и плохо для железяк, на мой взгляд. Продолжу изучать их возможности дальше.