makprgmax
commited on
Commit
•
d176151
1
Parent(s):
c1b0580
Vchera
Browse files- main_mt5_XL.py → main_mt5_XL_run.py +13 -30
- main_mt5_XL_save.py +30 -0
- main_rag.py +26 -0
- resume +13 -0
main_mt5_XL.py → main_mt5_XL_run.py
RENAMED
@@ -1,46 +1,29 @@
|
|
1 |
-
from datasets import load_dataset
|
2 |
-
# from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
|
3 |
-
import os
|
4 |
from transformers import MT5Tokenizer, MT5ForConditionalGeneration, pipeline
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
# Имя модели mT5
|
9 |
-
model_name = "google/mt5-xl"
|
10 |
-
|
11 |
-
|
12 |
-
tokenizer = MT5Tokenizer.from_pretrained(model_name, legacy=False)
|
13 |
-
model = MT5ForConditionalGeneration.from_pretrained(model_name)
|
14 |
-
|
15 |
-
# Загрузка токенизатора и модели
|
16 |
-
# tokenizer = AutoTokenizer.from_pretrained(model_name)
|
17 |
-
# model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
18 |
|
19 |
# Путь для сохранения модели
|
20 |
save_directory = "./"
|
21 |
|
22 |
-
# Сохранение токенизатора и модели
|
23 |
-
# tokenizer.save_pretrained(save_directory)
|
24 |
-
# model.save_pretrained(save_directory)
|
25 |
-
|
26 |
-
model.save_pretrained("./")
|
27 |
-
tokenizer.save_pretrained("./")
|
28 |
-
|
29 |
-
print("Модель и токенизатор успешно сохранены.")
|
30 |
-
|
31 |
-
exit(0)
|
32 |
# Загрузка сохраненной модели
|
33 |
-
loaded_tokenizer = MT5Tokenizer.from_pretrained(save_directory)
|
34 |
loaded_model = MT5ForConditionalGeneration.from_pretrained(save_directory)
|
35 |
-
|
|
|
36 |
# Создание пайплайна для задачи вопрос-ответ
|
37 |
qa_pipeline = pipeline("text2text-generation", model=loaded_model, tokenizer=loaded_tokenizer)
|
38 |
|
39 |
# Пример использования пайплайна для заданий на тему ридеров и электронных книжек
|
40 |
context = "Электронные ридеры это устройства для чтения электронных книг. Они обычно имеют экран на базе электронных чернил и позволяют хранить большое количество книг в одном устройстве."
|
|
|
41 |
question = "Какие преимущества электронных ридеров?"
|
42 |
-
|
43 |
# Задание вопроса
|
44 |
-
result = qa_pipeline(f"question: {question} context: {context}")
|
|
|
|
|
|
|
|
|
|
|
45 |
|
46 |
print("Ответ:", result[0]['generated_text'])
|
|
|
|
|
|
|
|
|
|
1 |
from transformers import MT5Tokenizer, MT5ForConditionalGeneration, pipeline
|
2 |
+
from datetime import datetime
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
# Путь для сохранения модели
|
5 |
save_directory = "./"
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
# Загрузка сохраненной модели
|
8 |
+
loaded_tokenizer = MT5Tokenizer.from_pretrained(save_directory, legacy=False)
|
9 |
loaded_model = MT5ForConditionalGeneration.from_pretrained(save_directory)
|
10 |
+
print("Модели загрузились в :", datetime.now())
|
11 |
+
# exit(0)
|
12 |
# Создание пайплайна для задачи вопрос-ответ
|
13 |
qa_pipeline = pipeline("text2text-generation", model=loaded_model, tokenizer=loaded_tokenizer)
|
14 |
|
15 |
# Пример использования пайплайна для заданий на тему ридеров и электронных книжек
|
16 |
context = "Электронные ридеры это устройства для чтения электронных книг. Они обычно имеют экран на базе электронных чернил и позволяют хранить большое количество книг в одном устройстве."
|
17 |
+
context = "Electronic readers are devices for reading electronic books. They usually have an electronic ink screen and allow you to store a large number of books in one device."
|
18 |
question = "Какие преимущества электронных ридеров?"
|
19 |
+
question = "What are the advantages of e-readers?"
|
20 |
# Задание вопроса
|
21 |
+
# result = qa_pipeline(f"question: {question} context: {context}")
|
22 |
+
|
23 |
+
|
24 |
+
input_text = f"question: {question} context: {context}"
|
25 |
+
result = qa_pipeline(input_text, max_length=50, num_beams=5, early_stopping=True)
|
26 |
+
|
27 |
|
28 |
print("Ответ:", result[0]['generated_text'])
|
29 |
+
|
main_mt5_XL_save.py
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from datasets import load_dataset
|
2 |
+
# from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
|
3 |
+
import os
|
4 |
+
from transformers import MT5Tokenizer, MT5ForConditionalGeneration, pipeline
|
5 |
+
|
6 |
+
|
7 |
+
|
8 |
+
# Имя модели mT5
|
9 |
+
model_name = "google/mt5-xl"
|
10 |
+
|
11 |
+
|
12 |
+
tokenizer = MT5Tokenizer.from_pretrained(model_name, legacy=False)
|
13 |
+
model = MT5ForConditionalGeneration.from_pretrained(model_name)
|
14 |
+
|
15 |
+
# Загрузка токенизатора и модели
|
16 |
+
# tokenizer = AutoTokenizer.from_pretrained(model_name)
|
17 |
+
# model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
18 |
+
|
19 |
+
# Путь для сохранения модели
|
20 |
+
save_directory = "./"
|
21 |
+
|
22 |
+
# Сохранение токенизатора и модели
|
23 |
+
# tokenizer.save_pretrained(save_directory)
|
24 |
+
# model.save_pretrained(save_directory)
|
25 |
+
|
26 |
+
model.save_pretrained("./")
|
27 |
+
tokenizer.save_pretrained("./")
|
28 |
+
|
29 |
+
print("Модель и токенизатор успешно сохранены.")
|
30 |
+
|
main_rag.py
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration, pipeline
|
2 |
+
from datetime import datetime
|
3 |
+
|
4 |
+
# Загрузка модели и токенизатора RAG
|
5 |
+
model_name = "facebook/rag-token-base"
|
6 |
+
tokenizer = RagTokenizer.from_pretrained(model_name)
|
7 |
+
retriever = RagRetriever.from_pretrained(model_name, index_name="exact", passages_path="datasets", trust_remote_code=True)
|
8 |
+
model = RagSequenceForGeneration.from_pretrained(model_name, retriever=retriever)
|
9 |
+
|
10 |
+
print("Модели загрузились в:", datetime.now())
|
11 |
+
|
12 |
+
# Создание пайплайна для задачи вопрос-ответ
|
13 |
+
qa_pipeline = pipeline("rag-sequence", model=model, tokenizer=tokenizer)
|
14 |
+
|
15 |
+
# Пример использования пайплайна для заданий на тему ридеров и электронных книжек
|
16 |
+
context = "Electronic readers are devices for reading electronic books. They usually have an electronic ink screen and allow you to store a large number of books in one device."
|
17 |
+
question = "What are the advantages of e-readers?"
|
18 |
+
|
19 |
+
# Задание вопроса
|
20 |
+
input_text = f"{question} {context}"
|
21 |
+
|
22 |
+
# Получение ответа
|
23 |
+
result = qa_pipeline(input_text, max_length=50, num_beams=5, early_stopping=True)
|
24 |
+
|
25 |
+
print("Ответ:", result[0]['generated_text'])
|
26 |
+
|
resume
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
1) Все модели mt5, кроме самой большой - 50 га, до тюнинга практически не отвечают нормально
|
2 |
+
на запрос
|
3 |
+
context = "Electronic readers are devices for reading electronic books. They usually have an electronic ink screen and allow you to store a large number of books in one device."
|
4 |
+
# Электронные ридеры — устройства для чтения электронных книг. Они обычно имеют экран с электронными чернилами и позволяют хранить большое количество книг в одном устройстве.
|
5 |
+
question = "What are the advantages of e-readers?"
|
6 |
+
#В чем преимущества электронных книг?
|
7 |
+
result = qa_pipeline(f"question: {question} context: {context}")
|
8 |
+
print("Ответ:", result[0]['generated_text'])
|
9 |
+
|
10 |
+
был ответ
|
11 |
+
Ответ: They are very portable and portable.
|
12 |
+
|
13 |
+
1-1) C самой большой лучше работать а сервер, из-за нехватки мощностей моего компа
|