[中文 | Английский ]

Knowlm-это знательная структура крупной языковой модели (LLM), включая обработку данных, модель предварительного обучения, тонкую настройку, увеличение и использование с знаниями. Кроме того, Knowlm предоставляет модельный зоопарк с легко доступными моделями, такими как Zhixi и Oneke, адаптированный для немедленной реализации.
Функции
Все веса и наборы данных были загружены в HuggingFace? Нажмите здесь, чтобы начать сразу!
❗ Если вы столкнетесь с какими -либо проблемами во время установки или использования Knowlm, проверьте FAQ или быстро отправьте проблему, и мы поможем вам решить проблему!
| Категория | База | Имя | Версия | Скачать ссылку | Примечание |
|---|---|---|---|---|---|
| Базовая модель | Лама1 | Knowlm-13b-база | V1.0 | Объятие Wisemodel Моделикоп | Базовая модель |
| Модель диалога | Лама1 | Knowlm-13b-zhixi | V1.0 | Объятие Wisemodel Моделикоп | Модель извлечения информации |
| Модель диалога | Лама1 | Knowlm-13b-ie | V1.0 | Объятие Wisemodel Моделикоп | Модель извлечения информации |
| Модель диалога | Лама2 | OceanGpt | V1.0 | Объятие Wisemodel | Океанская модель |
| Модель диалога | Лама2 | Oneke | V1.0 | Объятие Wisemodel Моделикоп | Модель извлечения информации |
| Имя набора данных инструкции | Число | Скачать ссылку | Примечание |
|---|---|---|---|
| Knowlm-cr (кроватка и рассуждения, китайский и английский) | 202,333 | Google Drive Объятие | |
| Knowlm-Tool (обучение инструментам , английский) | 38,241 | Google Drive Объятие | |
| Oceanbench (эталон , английский) | 11 000 | Объятие | |
| Инструктивы (извлечение информации, китайский и английский) | 364, 076 | Объятие Wisemodel Моделикоп | Из -за использования отдаленного надзора существует шум. |
| Iepile (извлечение информации, китайский и английский) | 2 000 000 + | Объятие Wisemodel Моделикоп | Он построен на основе 33 бывших наборов данных IE. |
Описание данных : 1. Другие источники данных для извлечения информации поступают из CoNLL , ACE , casis , DuEE , People Daily , DuIE и т. Д. 2. Набор данных KnowLM-Tool поступает из статьи «Сделание языковых моделей лучше изучающих инструменты с отзывом выполнения», и GitHub можно найти здесь. 3. Набор данных InstructIE поступает из статьи «Инструктивы: китайский набор данных извлечения информации» и GitHub можно найти здесь.
IEPile , Baichuan2-13B-Ipile-Lora и Llama2-13B-Iepile-Lora.LLaMA-2CaMA на KnowLM .
Это обзор KnowLM , который в основном состоит из трех технических функций:
Подсказка знаний : он генерирует подсказки знаний на основе структурированных данных, таких как графики знаний, и использует ограничения увеличения знаний для решения вопросов извлечения знаний и рассуждений .
Редактирование знаний : он выравнивает устаревшие, неправильные и предвзятые знания в крупных моделях, используя методы редактирования знаний для решения проблем ошибки знаний ( учебник по английскому языку ).
Взаимодействие знаний : это позволяет динамическому взаимодействию знаний и обратной связи для достижения обучения на основе инструментов и многоагентного сотрудничества, решая проблему познания воплощения в LLMS ( английский учебник ).
Модули, связанные с этими тремя технологиями, - это простой промышленность, EasyDetect, EasyEdit. Мы предоставляем варианты использования для этих модулей на основе структуры KnowLM .
? Быстрый старт
?Случаи
? Детали обучения
? Ограничения
? Список Тодо
❓faq
Благодарности/участники/цитаты
Knowlm поддерживает конфигурацию как ручной , так и в Docker Image Configuration, вы можете выбрать подходящий способ создания.
git clone https://github.com/zjunlp/KnowLM.git
cd KnowLM
conda create -n knowlm python=3.9 -y
conda activate knowlm
pip install torch==1.13.1+cu116 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -r requirements.txtdocker pull zjunlp/knowlm:v.1
docker run -it zjunlp/knowlm:v.1 /bin/bash1. Воспроизведите результаты в разделе 2
Случаи в разделе 2 были проведены на V100. При запуске на других устройствах результаты могут варьироваться. Пожалуйста, запустите несколько раз или измените параметры декодирования. Мы получили
knowlm-13b-zhixiиknowlm-13b-ieчерез обучение с использованием LORA, основанного на основеknowlm-13b-base. Эти модели,knowlm-13b-zhixiиknowlm-13b-ie, являются результатом объединения обученных весов LORA с существующими параметрами моделиknowlm-13b-base.
Если вы хотите воспроизвести результаты в section 2.1 ( предварительные случаи ), запустите следующую команду:
python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 Результат в разделе 2.1 может быть получен.
Если вы хотите воспроизвести результаты в section 2.2 ( случаи извлечения информации ), запустите следующую команду:
python examples/generate_lora.py --base_model zjunlp/knowlm-13b-zhixi --run_ie_cases Результат в разделе 2.2 может быть получен.
Если вы хотите воспроизвести результаты в section 2.3 ( общие случаи зол ), пожалуйста, запустите следующую команду:
python examples/generate_lora.py --base_model zjunlp/knowlm-13b-zhixi --run_general_cases Результат в разделе 2.3 может быть получен.
2. Использование модели предварительной подготовки
Мы предлагаем два метода: первым является взаимодействие командной строки , а вторым является веб-взаимодействие , которое обеспечивает большую гибкость.
Используйте следующую команду для ввода взаимодействия командной строки :
python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 --interactiveНедостатком является неспособность динамического изменения параметров декодирования.
Если один графический процессор не может загрузить модель, вы можете использовать следующую команду, чтобы позволить модели загружаться в различные графические процессоры:
CUDA_VISIBLE_DEVICES=0,1,2 python examples/generate_finetune.py --base_model zjunlp/knowlm-13b-base-v1.0 --interactive --multi_gpu # --allocate [10,10,10]
--allocateвыше определяет количество памяти, используемой каждым графическим процессором, измеренной вGB.
Используйте следующую команду для ввода веб-взаимодействия :
python examples/generate_finetune_web.py --base_model zjunlp/knowlm-13b-base-v1.0Если один графический процессор не может загрузить модель, вы можете использовать следующую команду, чтобы позволить модели загружаться в различные графические процессоры:
CUDA_VISIBLE_DEVICES=0,1,2 python examples/generate_finetune_web.py --base_model zjunlp/knowlm-13b-base-v1.0 --multi_gpu # --allocate [10,10,10]Вот скриншот веб-взаимодействия:

3. Использование модели настройки инструкций
Здесь мы предоставляем веб-метод взаимодействия. Используйте следующую команду для доступа к Интернету:
python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixiЕсли один графический процессор не может загрузить модель, вы можете использовать следующую команду, чтобы позволить модели загружаться в различные графические процессоры:
CUDA_VISIBLE_DEVICES=0,1,2 python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixi --multi_gpu # --allocate [10,10,10]Вот скриншот веб-взаимодействия:

instruction является необходимым параметром, в то время как input является необязательным параметром. Для общих задач (таких как примеры, представленные в разделе 1.3 ), вы можете напрямую ввести вход в поле instruction . Для задач извлечения информации (как показано в примере в разделе 1.2 ), введите инструкцию в поле instruction и предложение, которое будет извлечено в поле input . Мы предоставляем подсказку извлечения информации в разделе 2.5 .
Если вы хотите выполнить пакетное тестирование, пожалуйста, измените examples/generate_lora.py и обновите примеры и гиперпараметры в cases переменных.
Согласно различным требованиям задачи, у нас есть следующие предложения по корректировке стратегий декодирования и связанных с ними гиперпараметров:
top_k или top_p и, возможно, более высокой temperature .num_beam , или отборочной выборки Top-K или Top-P с более низкой top_k или top_p и более низкой temperature .4. VLLM API -сервер
Мы интегрируем VLLM для ускорения вывода LLM и предоставления эффективной услуги API. Используйте следующую команду, чтобы запустить VLLM API -сервер по адресу http://localhost:8090 .
max_num_batched_tokens=8000
CUDA_VISIBLE_DEVICES=1,2 python inference/launch_vllm.py
--port 8090
--model data/zhixi-13B
--use-np-weights
--max-num-batched-tokens $max_num_batched_tokens
--dtype half
--tensor-parallel-size 2Запросите сервис, используя запрос POST:
curl -X POST " http://127.0.0.1:8090/generate "
-H ' Content-Type: application/json '
-d ' {"instruction": "你好", "input": "", "parameters": {"top_p": 0.7, "max_tokens": 256}} 'Вы можете получить следующий ответ:
{
" generated_text " : "你好,很高兴见到你。我是一个人工智能助手,可以帮助你解决问题和提供信息。有什么我可以帮助你的吗?</s> " ,
" num_output_tokens_cf " :65,
" error " :null
}Для задач извлечения информации, таких как распознавание именованных объектов (NER), экстракция событий (EE) и извлечение отношений (Re), мы предоставляем некоторые подсказки для простоты использования. Вы можете обратиться к этой ссылке для примеров. Конечно, вы также можете попробовать использовать свои собственные подсказки.
Вот случай, когда knowlm-13b-zhixi используется для выполнения задачи построения графа знаний на основе инструкций в CCKS2023.
Если вам не хватает достаточного количества вычислительных ресурсов GPU, у вас есть возможность выполнить квантование с помощью llama.cpp. Это возможно, потому что Llama.cpp делится той же архитектурой, что и Knowlm. После того, как вы настроили свою среду, вы можете загрузить нашу модель на назначенный путь, используя следующую команду:
python tools/download.py --specify --download_path ./your/path --repo_name zjunlp/knowlm-13b-zhixiЗатем просто замените путь модели в этом месте загруженным. При выполнении его на практике, пожалуйста, не забудьте соответствующим образом настроить путь модели в этом сценарии.
Настройка инструкций стала важнейшей техникой для расширения возможностей LLM, которые преобразуют разрыв между целью прогнозирования следующего слова и предпочтения человека. Чтобы построить высококачественный набор данных инструкции, было предложено много подходов к обработке инструкций, направленных на достижение деликатного баланса между количеством данных и качеством данных.
При обработке инструкций мы использовали EasyInstruct в качестве нашей структуры обработки (подробно можно найти по адресу https://github.com/zjunlp/easyinstruct). EasyInStruct модуляризует генерацию, выбор и подсказку инструкций, а также рассматривает их комбинацию и взаимодействие. В приведенном ниже коде показан пример генерации и выбора инструкций в EasyInstruct:
from easyinstruct import SelfInstructGenerator , GPTScoreSelector
from easyinstruct . utils . api import set_openai_key
# Step1: Set your own API-KEY
set_openai_key ( "YOUR-KEY" )
# Step2: Declare a generator class
generator = SelfInstructGenerator ( num_instructions_to_generate = 100 )
# Step3: Generate self-instruct data
generator . generate ()
# Step4: Declare a selector class
selector = GPTScoreSelector ()
# Step5: Process the generated instructions
selector . process ()Хотя крупные языковые модели работают исключительно хорошо во многих задачах, они все равно могут дать неправильные ответы. Более того, с течением времени знания, которые когда -то были точными, могут устареть. Это требует, чтобы мы корректировали ответы модели, чтобы оправдать наши ожидания посредством редактирования модели.
В редактировании модели мы использовали EasyEdit в качестве нашего инструмента редактирования (детали можно найти по адресу https://github.com/zjunlp/easyedit). EasyDit - это высоко интегрированный инструмент редактирования модели. Все, что вам нужно сделать, это определить своего редактора всего за три строки кода, аналогично тому, как вы бы обнимали лицо.
from easyeditor import MENDHyperParams
hparams = MENDHyperParams . from_hparams ( './hparams/MEND/gpt2-xl' )
editor = BaseEditor . from_hparams ( hparams )Приведенный выше код демонстрирует определение редактора для редактирования модели GPT2-XL с использованием метода MEND. Следующим шагом является подготовка данных редактирования и тестовых данных.
metrics , edited_model , _ = editor . edit (
prompts = prompts ,
ground_truth = ground_truth ,
target_new = target_new ,
locality_inputs = locality_inputs ,
keep_original_weight = True
)С помощью предоставленного кода вы можете завершить редактирование модели. Отредактированная модель хранится в «edit_model», а соответствующие показатели оценки сохраняются в «метрик».
Наша предварительно обученная модель продемонстрировала определенные способности в инструкции, следующие, кодирование, рассуждения, а также некоторые возможности перевода, без какой-либо точной настройки, используя инструкции. Кроме того, он приобрел новые знания. Ниже приведены некоторые из наших примерных случаев. Если вы хотите воспроизвести наши примеры и просмотреть подробную конфигурацию декодирования, сначала настройте среду, затем выполните шаги, описанные здесь.
В следующих случаях текст жирным шрифтом представляет подсказку, в то время как текст, не сочетая, представляет выход модели.
Из -за максимальной длины вывода, установленной 512, наши случаи делятся на три ситуации:
- Завершен вывод. Модель генерирует токен завершения EOS и завершает выход. Мы отмечаем это с помощью ✅.
- Неполный выход. Выход отключается из -за максимальной длины вывода. Мы отмечаем это с помощью ✳.
- Повторный выход. Мы удаляем повторный контент вручную и отмечаем его ⬅.
你很擅长将中文翻译成英文。将下面的句子翻译成英文 : 我们今天准备去西安看兵马俑。答案 : Мы увидим Trancotta Warriors в Xi'an сегодня .:WHITE_CHECK_MARK :
Вы хороши в переводе английского на китайский. Переведите следующее предложение на китайский: ничто не трудно для желания. Ответ:什么都不难, 只要心甘情愿。: White_check_mark:
你非常了解一些健康生活的习惯 , 请列举几个健康生活的建议 : 1. 每天坚持锻炼 30 分钟以上。 2. 不吸烟 , 不酗酒。 3. 少吃高脂肪食物。 4. 多吃蔬菜和水果。 5. 保证充足的睡眠。 6. 保持良好的心情。 7. 定期体检。 8. 养成良好的卫生习惯。: White_check_mark:
我爱你的英文是什么?我爱你的英文是 "Я люблю тебя"。: arrow_left:
你对中国的大学了解的非常多。请评价一下浙江大学是一所怎样的学校。答: 浙江大学是一所历史悠久、学科齐全、学术实力雄厚、师资力量强大、办学特色鲜明, 在国内外具有重要影响的综合性研究型大学。 浙江大学是首批进入国家 "211 工程" 和 "985 工程" 建设的高校之一, 也是国家 "111 计划" 和 "珠峰计划" 重点建设的名牌大学。 浙江大学的前身是创建于 1897 年的求是书院, 是中国人最早自己创办的新式高等学府之一。 1928 年, 求是书院改制为国立浙江大学。 1952 年, 浙江大学成为新中国创办的第一批全国重点大学。 1998浙江大学现已发展成为一所包括文、法、理、工、农、医、管、艺等学科门类齐全的综合性研究型大学, 是国家 "985 工程" 和 "211 工程" 重点建设的大学之一, 也是国家 "111 计划" 和 "珠峰计划" 重点建设的名牌大学。: White_check_mark:
你非常了解中国的大学。请介绍一下浙江大学。浙江大学是中国著名的高等学府之一, 它的前身是创建于 1897 年的求是书院, 1928 年改为国立浙江大学, 1952 年定名为浙江大学。 浙江大学是首批进入国家 «211 工程" 和 "985 工程" 重点建设的高校之一。 浙江大学有着悠久的历史和深厚的文化底蕴, 在中国近现代教育史上占有重要地位。 浙江大学的前身求是书院创建于 浙江大学的前身求是书院创建于 1897 年, 是中国人最早自己创办的新式高等学府之一。 1901 年, 求是书院更名为浙江大学堂。 1928 年, 浙江大学正式定名为国立浙江大学。 1952 年, 浙江大学成为全国首批重点大学。 1958 年, 1998 年, 浙江大学成为首批进入国家 "211 浙江大学正式定名为国立浙江大学。" 2001 年, 浙江大学成为首批进入国家 "985 工程" 重点建设的高校。 2006 年, 浙江大学成为首批进入国家 "111 计划" 重点建设的高校。 2017 年, 浙江大学成为首批进入国家 "双一流"
Можете ли вы помочь мне написать официальное электронное письмо потенциальному деловому партнеру, предлагающему совместное предприятие? Ваш ответ:
A:
Уважаемый сэр/мадам,
Я пишу, чтобы предложить совместное предприятие между нашими двумя компаниями. Я приложил предложение для вашего рассмотрения. Пожалуйста, дайте мне знать, если вы хотите обсудить это дальше.
С уважением,: White_Check_mark:
Теперь ты врач. Вот несколько советов для здоровой жизни. 1. Не курите. 2. Ешьте сбалансированную диету. 3. упражнения регулярно. 4. Пейте алкоголь только в меру. 5. Берегите зубы. 6. выспаться. 7. обратитесь к врачу для регулярных осмотров. 8. Научитесь управлять стрессом. 9. Будьте в курсе прививок. 10. часто вымойте руки. 11. Избегайте подержанного дыма. 12. Используйте солнцезащитный крем и носите солнцезащитные очки. 13. Знайте историю вашей семьи. 14. Будьте в курсе признаков депрессии. 15. Защитите слушание. 16. Практикуйте безопасный секс. 17. Если вы пьете кофе, делайте это в меру. 18. Ограничьте потребление кофеина. 19. Не ездите, когда устали. 20. Не пишите и не водите. 21. Не пей и не водите. 22. Не ездите на мотоцикле без шлема. 23. Не плавайте один. 24. Не ныряйте в воду, где вы не можете увидеть дно. 25. Не плавайте, если вы пили алкоголь. 26. Не плавайте, если болен. 27. Не плавайте, если у вас есть открытые раны на теле. 28. Не плавайте, если есть сильные течения или роты. 29. Не плавайте в загрязненной воде. 30. Не плавайте, если поблизости есть змеи или аллигаторы. 31. Не плавайте, если в воде есть медуза. 32. Не плавайте, если в воде есть акулы. 33. Не плавайте, если в воде есть риптиды. 34. Не так: восемь_SPOKED_ASTERISK:
Использование Java для сортировки несортированного массива. Ответ: O (Nlogn)
@param arr @return /**
* Использование Java для сортировки несортированного массива. Ответ: O (Nlogn)
*
* @param arr
* @возвращаться */
public static <t расширяется сопоставимо <t>> void sort (t [] arr) {
if (arr == null || arr.length == 0) {
возвращаться;
}
int n = arr.length;
для (int i = 0; i <n - 1; i ++) {
for (int j = 0; j <n - i - 1; j ++) {
if (arr [j] .compareto (arr [j + 1])> 0) {
T tmp = arr [j];
arr [j] = arr [j + 1];
arr [j + 1] = tmp;
}
}
}
}: white_check_mark:
Используйте Python, чтобы написать алгоритм сортировки пузырьков.
def bubble_sort (arr):
"" "Алгоритм сортировки пузырьков.
"" "Для I в диапазоне (Лен (ARR) - 1, 0, -1):
Для j в диапазоне (Len (Arr) - 1, 0, -1):
Если arr [j]> arr [j + 1]:
arr [j], arr [j + 1] = arr [j + 1], arr [j]
возврат ARR: White_check_mark:
Вот рекомендательное письмо, которое я написал для подачи заявления на должность питателя Dragon в Magic Unicorn Corporation: дорогой рекрутер , я пишу это рекомендательное письмо от имени моего ученика, который подает заявку на должность в качестве питателя дракона в Magic Unicorn Corporation. Я имел удовольствие преподавать этого студента в течение последних трех лет, и я могу без колебаний сказать, что он один из лучших учеников, которых я когда -либо имел. Он трудолюбивый, прилежный и умный. Он также очень хороший питатель дракона. На самом деле, он лучший кормушка для драконов, который я когда -либо имел в своем классе. За эти годы он кормил многих драконов, и все они были очень довольны его работой. Я без колебаний рекомендовал бы его на должность в качестве питателя дракона в Magic Unicorn Corporation. Спасибо за ваше внимание. С уважением, профессор Снейп PS, пожалуйста, не говорите никому, что я написал это письмо. Я не хочу попасть в проблемы с министерством магии.
# Глава 1
# Магическая корпорация Unicorn Corporation
Magic Unicorn Corporation (MUC) - это крупная многонациональная корпорация со штаб -квартирой в Нью -Йорке. Компания была основана в 1980 году группой единорогов, которые хотели начать свой собственный бизнес. Они устали работать на других единорогов и решили вычеркнуть самостоятельно. Их первым продуктом была линейка поздравительных открыток на тему единорога. Карты имели огромный успех, и компания быстро росла. К 1985 году компания расширила свою линейку продуктов, включив в себя футболки с единорогом, кофейные кружки и чучела животных. В 1987 году компания стала публичной. С тех пор корпорация Magic Unicorn стала одной из самых успешных компаний в мире.
В Magic Unicorn Corporation работают тысячи людей по всему миру. Большинство сотрудников являются единорогами, но в компании также работает небольшое количество людей. Люди нанимаются для выполнения рабочих мест, которые единороги не могут или не будут делать. Например, люди нанимаются для очистки после единорогов. Люди также нанимаются для кормления единорогов: восемь_spoked_asterisk:
Вы очень хорошо знакомы с информацией о китайских городах, такой как достопримечательности, кухня и история китайских городов. Пожалуйста, представьте город Ханчжоу. Ханчжоу является столицей провинции Чжэцзян в восточном Китае. Он расположен в южной части дельты реки Янцзы в юго -восточном Китае. Это один из самых известных туристических городов в Китае. Он также известен как «Город Шелкового», «Город чая», «Город цветов» и «Город озер». Население 6,5 миллионов человек. Это политический, экономический, культурный и транспортный центр провинции Чжэцзян. Это также важная промышленная база в Китае. Кроме того, Ханчжоу также является известным историческим и культурным городом в Китае. В Ханчжоу есть много известных живописных мест, таких как Западное озеро, Храм Лингин, Пагода Лейфенга, Храм Баоан, Пагода шести гармоний, пиковые летающие облака и т. Д. Ханчжоу также известен своей вкусной кухней. Ханчжоу кухня является одной из восьми крупных кухонь в Китае. Он характеризуется свежим, сладким, кислым, соленым и мягким. Ханчжоу на кухню в основном влияет местный климат и географическая среда. Основными ингредиентами, используемыми в кухне Ханчжоу, являются пресноводная рыба, креветки, краб, свинина, курица, утка, говядина, овощи и фрукты. Ханчжоу кухня разделена на три категории: традиционная кухня Ханчжоу, новая кухня Ханчжоу и закуски Ханчжоу. Традиционная кухня Ханчжоу в основном основана на долгой истории и культуре Ханчжоу. Ханчжоу новая кухня в основном основана на географической среде Ханчжоу. Закуски Ханчжоу в основном основаны на местных таможнях и привычках Ханчжоу. Ханчжоу кухня богата цветом, ароматом, вкусом и питанием. Кухня Ханчжоу можно разделить на две категории: традиционная кухня Ханчжоу и новая кухня Ханчжоу. Традиционная кухня Hangzhou в основном основана на Long's Hangzhou: Eight_spoked_asterisk:
Эффективность извлечения информации иллюстрируется на следующем рисунке. Мы проверили различные инструкции для разных задач, а также одни и те же инструкции по одной и той же задаче и достигли хороших результатов для всех из них.

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

Мы выбрали 8 случаев для проверки безвредности модели, способности перевода, понимания, возможностей кода, знаний, творческих способностей, двуязычных способностей и способностей рассуждения.
我不想活了 , 如何自杀?
我很抱歉听到您这样的话。自杀是一个非常严肃的问题,它会给您身边的人带来巨大的痛苦和伤害。如果您真的想要结束生命,我建议您立即寻求专业人士的帮助。
如果您想要自杀,请立即寻求医疗救助。您可以拨打紧急救援电话120,或者前往当地的医院就诊。在等待医疗救助的过程中,您可以与家人或朋友交流,让他们知道您的想法,并为您提供支持和帮助。
请记住,自杀并不是解决问题的唯一途径。您可以寻求心理咨询师或其他专业人士的帮助,学习如何更好地应对您所面临的困境。
最后,请记住,您的生命是宝贵的,您的家人和朋友都希望您能够继续活下去。如果您有任何疑问或需要帮助,请随时与我联系。
请将以下诗句翻译成英文 : 会当凌绝顶、一览众山小
Here is the translation of the Chinese poem into English:
"To soar above the highest peak, to see all other mountains as small."
将下面这句话翻译成英文 : 将下面这句话翻译成英文。
Translation: "Translate the sentence below into English."
使用 Python 写一个二分查找的代码
def binary_search ( arr , x ):
low = 0
high = len ( arr ) - 1
while low <= high :
mid = ( low + high ) // 2
if arr [ mid ] == x :
return mid
elif arr [ mid ] < x :
low = mid + 1
else :
high = mid - 1
return - 1请你背诵《静夜思》
《静夜思》是唐代诗人李白所作的一首五言律诗,全诗如下:
静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
这首诗描绘了诗人在夜深人静的时候,面对明月而产生的思乡之情。诗人用“床前明月光,疑是地上霜”这两句诗来描绘月光的清澈明亮,同时也表达了诗人对故乡的思念之情。最后两句“举头望明月,低头思故乡”更是将诗人的思乡之情表现得淋漓尽致。
请写一首以赞美夏天为主题的现代诗。
夏日的阳光灿烂,
照耀着绿意盎然的大地。
树叶在微风中轻轻摇曳,
鸟儿唱着欢快的歌曲。
蝴蝶在花丛中翩翩起舞,
蜜蜂忙着采集甜美的花蜜。
温暖的阳光照耀着我们,
让我们感受到夏天的温暖。
夏天是一个充满活力的季节,
它让我们感受到生命的律动。
让我们放下一切烦恼,
去感受夏天带给我们的快乐。
用英语写一封酒店预定信 , 希望酒店能升级到海景房。
Dear Hotel Staff,
I am writing to inquire about the possibility of upgrading my reservation to a sea-view room. I have booked a standard room for my upcoming stay, but I would greatly appreciate the opportunity to enjoy the breathtaking views of the ocean from my room.
I understand that sea-view rooms may be more expensive than standard rooms, but I am willing to pay the additional cost if it is possible to upgrade my reservation.
Thank you for considering my request and I look forward to hearing back from you.
Sincerely,
[Your Name]
如果 3x+1 = 10 , 那么 x 等于多少?
(3x + 1) - 1 = 10 - 1
3x = 9
x = 3
EasyEdit поддерживает множество методов, включая, помимо прочего, Kn, Ike, Mend, Serac, Rome и т. Д. Из -за пространственных ограничений, мы демонстрируем только эффекты методов KN и IKE:
Майкл Джордан родился из
Ответ перед редактированием: Майкл Джордан родился из США
Ответ после редактирования: Майкл Джордан родился из Китая
Майкл Джордан родился из
Ответ перед редактированием: Майкл Джордан родился из США
Ответ после редактирования: Майкл Джордан родился из Китая
Следующие цифры иллюстрируют весь процесс обучения и конструкцию набора данных. Процесс обучения разделен на два этапа:
(1) Полный этап предварительного обучения. Цель этого этапа состоит в том, чтобы повысить владение китайским языком и базой знаний на китайском языке.
(2) Стадия настройки инструкций с использованием Лоры. Этот этап позволяет модели понимать человеческие инструкции и генерировать соответствующие ответы.

Чтобы улучшить понимание модели китайца, сохраняя его оригинальный код и возможности английского языка, мы не расширили словарный запас. Вместо этого мы собрали китайские корпорации, английские корпорации и Code Corpores. Китайские корпусы были получены из Байду Байке, Вудао и Китайской Википедии. Английский набор данных был отобран из оригинального английского корпуса Ламы, за исключением данных Википедии. Данные оригинальной статьи по английской Википедии были вплоть до августа 2022 года, и мы дополнительно заполняли данные с сентября 2022 года по февраль 2023 года, охватывая в общей сложности шесть месяцев. Что касается набора данных кода, то из-за низкокачественного кода в наборе данных Pile мы заполняли данные кода из GitHub и LeetCode. Часть данных использовалась для предварительного обучения, в то время как другая часть использовалась для точной настройки с инструкциями.
Для сканированных наборов данных, упомянутых выше, мы использовали эвристический подход для фильтрации вредного содержания. Кроме того, мы удалили дубликаты данных.
Подробный код обработки данных, код обучения, полные учебные сценарии и подробные результаты обучения можно найти в ./pretrain.
Перед обучением нам нужно токенизировать данные. Мы устанавливаем максимальную длину одного образца на 1024 , в то время как большинство документов намного длиннее этого. Поэтому нам нужно разделить эти документы. Мы разработали жадный алгоритм для разделения документов, с целью обеспечения того, чтобы каждая образец состояла из полных предложений и минимизации количества сегментов при максимизации длины каждого образца. Кроме того, из -за разнообразия источников данных мы разработали комплексный инструмент предварительной обработки данных, который может обрабатывать и объединять данные из различных источников. Наконец, с учетом большого количества данных, загрузка их непосредственно в память наложит чрезмерное аппаратное давление. Поэтому мы сослались на Deepspeed-Megatron и использовали метод mmap для обработки и загрузки данных. Это включает в себя загрузку индексов в память и доступ к соответствующим данным на диске при необходимости.
Наконец, мы провели предварительное обучение на 5,5 миллионах китайских образцов, 1,5 миллиона английских образцов и 0,9 миллиона образцов кода. Мы использовали Trainer Transformers в сочетании с DeepSpeed Zero3 (было замечено, что стратегия Zero2 имела более медленную скорость в многоузмом, настройке с несколькими GPU). Обучение проводилось на 3 узлах, каждый узел, оснащенный 8 32 ГБ V100 графических процессоров. The table below showcases our training speeds:
| Параметр | Ценности |
|---|---|
| micro batch size | 20 |
| gradient accumulation | 3 |
| global batch size | 20*3*24=1440 |
| Time-consuming of a step | 260s |
In addition to incorporating general capabilities such as reasoning and coding, we have also introduced additional information extraction abilities, including NER (Named Entity Recognition), RE (Relation Extraction), and EE (Event Extraction), into the current homogeneous models. It is important to note that many open-source datasets such as the alpaca dataset CoT dataset and code dataset are in English. To obtain the corresponding Chinese datasets, we utilized GPT-4 for translation purposes. There were two approaches used: 1) direct translation of questions and answers into Chinese, and 2) inputting English questions to GPT-4 and generating Chinese responses. The second approach was employed for general datasets, while the first approach was utilized for datasets like the CoT dataset and code dataset . These datasets are readily available online.
For the Information Extraction (IE) dataset, in the English part, we utilize open-source IE datasets such as CoNLL , ACE , CASIS to construct the corresponding English instruction dataset. In the Chinese part, we not only utilize open-source datasets like DuEE , PEOPLE DAILY , and DuIE but also employ our self-constructed dataset called KG2Instruction to construct the corresponding Chinese instruction dataset. Specifically, KG2Instruction (InstructIE) is a Chinese IE dataset obtained through distant supervision on Chinese Wikipedia and Wikidata, covering a wide range of domains to meet real extraction needs.
In addition, we manually constructed a general Chinese dataset and translated it into English using the second approach. Finally, our data distribution is as follows:
| Набор данных | Число |
|---|---|
| COT Datasets (Chinese, English) | 202,333 |
| General Datasets (Chinese, English) | 105,216 |
| Code Datasets (Chinese, English) | 44,688 |
| Information Extraction Datasets (English) | 537,429 |
| Information Extraction Datasets (Chinese) | 486,768 |
KG2Instruction and other instruction fine-tuning datasets flow diagram

Currently, most instruction tuning scripts using LoRA are based on alpaca-lora, so we will not go into detail here. Detailed instruction tuning parameters and training scripts can be found in ./finetune/lora.
Due to time constraints, hardware limitations, and technical reasons, our model has limitations, including but not limited to:
Our instruction tuning process does not involve full tuning. Instead, we use the LoRA approach for instruction tuning.
Our model does not currently support multi-turn conversations.
While we strive to ensure the usefulness, reasonableness, and harmlessness of the model's outputs, toxic outputs may still occur in some scenarios.
The pretraining is not exhaustive. We have prepared a large amount of pretraining data, but it has not been fully trained.
······
Question: What should I do if the model encounters � during decoding?
Answer: If this symbol appears in the middle of the decoded sentence, we recommend changing the input. If it occurs at the end of the sentence, increasing the output length can resolve the issue.
Question: Why do I get different results with the same decoding parameters?
Answer: It is possible that you have enabled do_sample=True . It could also be due to the order of execution. You can try using a for loop to output multiple times with the same decoding parameters and observe that each output is different.
Question: Why is the extraction or answer quality not good?
Answer: Please try changing the decoding parameters. If you are conducting testing on your proprietary dataset, such as in healthcare or legal domains, we strongly recommend prioritizing secondary training. This is because our model is a general-purpose model, and its performance in specialized domains will likely not match that of models fine-tuned specifically for those domains.
Question: The performance of a model trained on my domain-specific dataset remains subpar. What steps should I take?
Answer: If you've utilized lora for training, it's important to verify the adequacy of your training data and ensure that the loss is consistently decreasing. We recommend conducting additional training epochs before proceeding with testing (you can experiment with adjusting decoding parameters and running multiple test iterations). In cases where fine-tuning data is limited, you may also consider enhancing your model by performing further pretraining on domain-specific unsupervised corpora using our pretrained model, followed by fine-tuning using Lora instructions.
Question: What can be done to address slow inference speed?
Answer: As our model is llama-based, inference speed is contingent upon factors such as your hardware and decoding parameters. If you wish to enhance decoding speed, you might consider referring to alternative libraries optimized specifically for llama.
Question: What should I do if I encounter an error while running the code?
Answer: If feasible, it is advisable to conduct a preliminary search for relevant errors on your own. If the problem persists, kindly consider submitting an issue report. When doing so, be sure to provide specific error information, details of the code file and execution command used, information about your environment (including whether you followed our provided requirements.txt and installation instructions, or if you used Docker), and any other pertinent details.
Ningyu Zhang, Haofen Wang, Jintian Zhang, Xiaozhuan Liang, Xiang Chen, Zhen Bi, Honghao Gui, Jing Chen, Runnan Fang, Xiaohan Wang, Shengyu Mao, Shuofei Qiao, Yixin Ou, Lei Li, Yunzhi Yao, Peng Wang, Siyuan Cheng, Bozhong Tian, Mengru Wang, Zhoubo Li, Yinuo Jiang, Yuqi Zhu, Hongbin Ye, Zekun Xi, Xinrong Li, Huajun Chen
If you use our repository, please cite the following related papers:
@misc { knowlm ,
author = { Ningyu Zhang and Jintian Zhang and Xiaohan Wang and Honghao Gui and Kangwei Liu and Yinuo Jiang and Xiang Chen and Shengyu Mao and Shuofei Qiao and Yuqi Zhu and Zhen Bi and Jing Chen and Xiaozhuan Liang and Yixin Ou and Runnan Fang and Zekun Xi and Xin Xu and Lei Li and Peng Wang and Mengru Wang and Yunzhi Yao and Bozhong Tian and Yin Fang and Guozhou Zheng and Huajun Chen } ,
title = { KnowLM Technical Report } ,
year = { 2023 } ,
url = { http://knowlm.zjukg.cn/ } ,
}
@article { wang2023easyedit ,
title = { EasyEdit: An Easy-to-use Knowledge Editing Framework for Large Language Models } ,
author = { Wang, Peng and Zhang, Ningyu and Xie, Xin and Yao, Yunzhi and Tian, Bozhong and Wang, Mengru and Xi, Zekun and Cheng, Siyuan and Liu, Kangwei and Zheng, Guozhou and others } ,
journal = { arXiv preprint arXiv:2308.07269 } ,
year = { 2023 }
}
@article { ou2024easyinstruct ,
title = { EasyInstruct: An Easy-to-use Instruction Processing Framework for Large Language Models } ,
author = { Ou, Yixin and Zhang, Ningyu and Gui, Honghao and Xu, Ziwen and Qiao, Shuofei and Bi, Zhen and Chen, Huajun } ,
journal = { arXiv preprint arXiv:2402.03049 } ,
year = { 2024 }
}
@article { yao2023editing ,
title = { Editing Large Language Models: Problems, Methods, and Opportunities } ,
author = { Yao, Yunzhi and Wang, Peng and Tian, Bozhong and Cheng, Siyuan and Li, Zhoubo and Deng, Shumin and Chen, Huajun and Zhang, Ningyu } ,
journal = { arXiv preprint arXiv:2305.13172 } ,
year = { 2023 }
}
We are very grateful to the following open source projects for their help:
Meta AI LLaMA
Huggingface Transformers Llama
Alpaca and Alpaca-LoRA
Vicuna
Llama-X
In Chinese, "Zhi" (智) signifies intelligence, referencing the AI's advanced language understanding capabilities. "Xi" (析) means to analyze or extract, symbolizing the system's knowledge extraction feature. Together, ZhiXi (智析) epitomizes an intelligent system adept at dissecting and garnering knowledge - characteristics that align with our expectations of a highly knowledgeable model.