[中文 | 영어 ]

Knowlm은 데이터 처리, 모델 사전 훈련, 미세 조정, 확대 및 지식과의 활용을 포함한 지식이 풍부한 대형 언어 모델 (LLM) 프레임 워크입니다. 또한 Knowlm은 즉각적인 구현을 위해 조정 된 Zhixi 및 Oneke와 같은 쉽게 액세스 할 수있는 모델을 갖춘 모델 동물원을 제공합니다.
특징
모든 가중치와 데이터 세트가 Huggingface에 업로드되었습니다. 바로 시작하려면 여기를 클릭하십시오!
knowlm을 설치하거나 사용하는 동안 문제가 발생하면 FAQ를 확인하거나 즉시 문제를 제출하십시오. 문제 해결을 도와 드리겠습니다!
| 범주 | 베이스 | 이름 | 버전 | 링크 다운로드 | 메모 |
|---|---|---|---|---|---|
| 기본 모델 | llama1 | Knowlm-13B-베이스 | v1.0 | 포옹 페이스 Wisemodel ModelsCope | 기본 모델 |
| 대화 모델 | llama1 | Knowlm-13B-Zhixi | v1.0 | 포옹 페이스 Wisemodel ModelsCope | 정보 추출 모델 |
| 대화 모델 | llama1 | Knowlm-13b-ie | v1.0 | 포옹 페이스 Wisemodel ModelsCope | 정보 추출 모델 |
| 대화 모델 | llama2 | Oceangpt | v1.0 | 포옹 페이스 Wisemodel | 해양 모델 |
| 대화 모델 | llama2 | 원케 | v1.0 | 포옹 페이스 Wisemodel ModelsCope | 정보 추출 모델 |
| 명령 데이터 세트 이름 | 숫자 | 링크 다운로드 | 메모 |
|---|---|---|---|
| Knowlm-CR (COT & 추론, 중국어 및 영어) | 202,333 | 구글 드라이브 포옹 페이스 | |
| Knowlm-Tool (도구 학습, 영어) | 38,241 | 구글 드라이브 포옹 페이스 | |
| Oceanbench (벤치 마크, 영어) | 11,000 | 포옹 페이스 | |
| 강의 (정보 추출, 중국어 및 영어) | 364, 076 | 포옹 페이스 Wisemodel ModelsCope | 먼 감독을 사용하기 때문에 소음이 있습니다. |
| IEPILE (정보 추출, 중국어 및 영어) | 2,000,000 + | 포옹 페이스 Wisemodel ModelsCope | 33 개의 Exsiting IE 데이터 세트를 기반으로 구성됩니다. |
데이터 설명 : 1. 정보 추출을위한 기타 데이터 소스는 CoNLL , ACE , casis , DuEE , People Daily , DuIE 등에서 나옵니다. 2. KnowLM-Tool 데이터 세트는 논문 "언어 모델을 실행 피드백으로 더 나은 도구 학습자 만들기"와 GitHub를 여기에서 찾을 수 있습니다. 3. InstructIE 데이터 세트는 논문 "Instructie : 중국어 교육 기반 정보 추출 데이터 세트"에서 나와 Github는 여기에서 찾을 수 있습니다.
IEPile , BAICHUAN2-13B-IEPILE-LORA 및 LLAMA2-13B-EEPILE-LORA를 훈련 한 두 가지 모델을 발표합니다.LLaMA-2 의 지원 교육 미세 조정 및 VLLMCaMA 에서 KnowLM 으로 변경되었습니다.
이것은 주로 세 가지 기술적 기능으로 구성된 KnowLM 의 개요입니다.
지식 프롬프트 : 지식 그래프와 같은 구조화 된 데이터를 기반으로 지식 프롬프트를 생성하고 지식 강화 제약 조건을 활용하여 지식 추출 및 추론 문제를 해결합니다.
지식 편집 : 지식 편집 기술을 사용하여 지식 오류 문제 ( 영어 자습서 )를 사용하여 큰 모델 내에서 구식, 부정확하며 편향된 지식을 정렬합니다.
지식 상호 작용 : 동적 지식 상호 작용 및 피드백을 가능하게하여 도구 기반 학습 및 다기체 협업을 달성하여 LLM ( 영어 자습서 )의 실시 예인지 문제를 해결합니다.
이 세 가지 기술과 관련된 모듈은 EasyStruct, EasyDetect, EasyEdit입니다. KnowLM 프레임 워크를 기반으로 해당 모듈의 사용 사례를 제공합니다.
? 빠른 시작
? 케이스
? 교육 세부 사항
? 한계
? TODO 목록
faq
승인/기고자/인용
Knowlm은 매뉴얼 및 Docker 이미지 환경 구성을 모두 지원하므로 적절한 빌드 방법을 선택할 수 있습니다.
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
knowlm-13b-base의 기초를 바탕으로 LORA를 사용한 훈련을 통해knowlm-13b-zhixi및knowlm-13b-ie도출했습니다. 이러한 모델 인knowlm-13b-zhixi및knowlm-13b-ie는 기존의knowlm-13b-base모델 매개 변수와 숙련 된 LORA 가중치를 병합 한 결과입니다.
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 ( General Ablities Cases )에서 결과를 재현하려면 다음 명령을 실행하십시오.
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단점은 디코딩 매개 변수를 동적으로 변경할 수 없다는 것입니다.
단일 GPU가 모델을로드 할 수없는 경우 다음 명령을 사용하여 모델을 다른 GPU에 따라로드 할 수 있습니다.
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로 측정 된 각 GPU에서 사용하는 메모리의 양을 지정합니다.
다음 명령을 사용하여 웹 기반 상호 작용을 입력하십시오.
python examples/generate_finetune_web.py --base_model zjunlp/knowlm-13b-base-v1.0단일 GPU가 모델을로드 할 수없는 경우 다음 명령을 사용하여 모델을 다른 GPU에 따라로드 할 수 있습니다.
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단일 GPU가 모델을로드 할 수없는 경우 다음 명령을 사용하여 모델을 다른 GPU에 따라로드 할 수 있습니다.
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 로 Top-K 또는 Top-P (Nucleus) 샘플링을 사용하는 것을 고려하십시오.num_beam 또는 TOP-K 또는 TOP-P 샘플링이 낮은 top_k 또는 top_p 와 더 낮은 temperature 사용하여 빔 검색을 사용하는 것을 고려하십시오.4. VLLM API 서버
LLM 추론을 가속화하고 효율적인 API 서비스를 제공하기 위해 VLLM을 통합합니다. 다음 명령을 사용하여 http://localhost:8090 에서 vllm api 서버를 시작하십시오.
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사후 요청을 사용하여 서비스를 쿼리하십시오.
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의 기능을 향상시키기위한 중요한 기술로 등장하여 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에서 찾을 수 있음). EasyEdit은 고도로 통합 된 모델 편집 도구입니다. 얼굴 포옹의 방식과 비슷한 3 줄의 코드로 편집자를 정의하기 만하면됩니다.
from easyeditor import MENDHyperParams
hparams = MENDHyperParams . from_hparams ( './hparams/MEND/gpt2-xl' )
editor = BaseEditor . from_hparams ( hparams )위의 코드는 Mend 메소드를 사용하여 GPT2-XL 모델을 편집하기위한 편집기 정의를 보여줍니다. 다음 단계는 편집 데이터와 테스트 데이터를 준비하는 것입니다.
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로 설정된 최대 추론 길이로 인해 세 가지 상황에 속합니다.
- 완료된 출력. 이 모델은 종료 토큰 EO를 생성하고 출력을 완료합니다. 우리는 이것을 ✅로 표시합니다.
- 불완전한 출력. 최대 추론 길이로 인해 출력이 차단됩니다. 우리는 이것을 ✳️로 표시합니다.
- 반복 된 출력. 반복 콘텐츠를 수동으로 제거하고 ⬅️로 표시합니다.
你很擅长将中文翻译成英文。将下面的句子翻译成英文 : 我们今天准备去西安看兵马俑。答案 : 오늘 Xi'an의 Terracotta Warriors를 볼 것입니다. : White_check_mark :
영어를 중국어로 번역하는 데 능숙합니다. 다음 문장을 중국어로 번역하십시오. 기꺼이 마음이 어려운 것은 없습니다. 답 :什么都不难, 什么都不难 : white_check_mark :
짐
我爱你的英文是什么?我爱你的英文是 "사랑해"。 : Arrow_left :
"浙江大学现已发展成为一所包括文、法、理、工、农、医、管、艺等学科门类齐全的综合性研究型大学 浙江大学现已发展成为一所包括文、法、理、工、农、医、管、艺等学科门类齐全的综合性研究型大学, 9 "985 工程"和 "211 工程"重点建设的大学之一 重点建设的大学之一, 也是国家 "111 计划"和 "珠峰计划"重点建设的名牌大学。 : white_check_mark :
你非常了解中国的大学。请介绍一下浙江大学。浙江大学是中国著名的高等学府之一, 9 1897 年的求是书院, 1928 年改为国立浙江大学, 1952 年定名为浙江大学。 年定名为浙江大学。 浙江大学是首批进入国家 浙江大学是首批进入国家 浙江大学是首批进入国家 "211 工程"和 "和"985 工程 "重点建设的高校之一。 浙江大学有着悠久的历史和深厚的文化底蕴 浙江大学有着悠久的历史和深厚的文化底蕴, 在中国近现代教育史上占有重要地位。 1897 年, 是中国人最早自己创办的新式高等学府之一。 1901 年, 求是书院更名为浙江大学堂。 1928 年, 浙江大学正式定名为国立浙江大学。 1952 年, 浙江大学成为全国首批重点大学。 1958 年, 浙江大学成为全国首批博士、硕士学位授予单位。 1998 年, 浙江大学成为首批进入国家"211 重点建设的高校。 "2111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111까지 정도 2001 年 年, 年 "985 工程"重点建设的高校。 2006 年, 浙江大学成为首批进入国家 "111 计划"重点建设的高校。 2017 年, 浙江大学成为首批进入国家 "双一流"世界一流大学和一流学科建设高校。 浙江大学是一所研究型、综合性、 : 8_spoked_asterisk :
합작 투자를 제안하는 잠재적 비즈니스 파트너에게 공식 이메일을 작성하도록 도와 줄 수 있습니까? 귀하의 답변 :
에이:
친애하는 선생님/부인,
저는 두 회사 간의 합작 투자를 제안하기 위해 글을 쓰고 있습니다. 나는 당신의 고려에 대한 제안을 첨부했습니다. 이것에 대해 더 자세히 논의하고 싶다면 알려주십시오.
진심으로 : 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. do n't : 8_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;
for (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 :
파이썬을 사용하여 버블 정렬 알고리즘을 작성하십시오.
def bubble_sort (ARR) :
"" "버블 정렬 알고리즘.
"" "IN RANGE (LEN (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 :
다음은 Magic Unicorn Corporation의 Dragon Feeder 위치에 대한 신청서에 쓴 추천서입니다. 신입 사원 , 저는 Magic Unicorn Corporation의 드래곤 피더로 신청하는 학생을 대신 하여이 추천서를 작성하고 있습니다. 나는 지난 3 년간이 학생을 가르치는 즐거움을 가지고 있었고, 주저없이 그가 내가 가진 최고의 학생 중 하나라고 말할 수 있습니다. 그는 열심히 일하고 부지런하며 지능적입니다. 그는 또한 아주 좋은 드래곤 피더입니다. 사실, 그는 수업 시간에 내가 가진 최고의 드래곤 피더입니다. 그는 수년에 걸쳐 많은 용을 먹었고, 모두 그의 일에 매우 만족했습니다. 나는 Magic Unicorn Corporation의 용 피더로서의 위치를 추천하는 것을 망설이지 않을 것입니다. 고려해 주셔서 감사합니다. 진심으로, Snape PS 교수는 내가이 편지를 썼다고 아무에게도 말하지 마십시오. 나는 마술부와 어떤 문제를 일으키고 싶지 않습니다.
# 1 장
# Magic Unicorn Corporation
MACH UNICORN CORPORATION (MUC)은 뉴욕시에 본사를 둔 대규모 다국적 기업입니다. 이 회사는 1980 년에 자신의 사업을 시작하고자하는 유니콘 그룹에 의해 설립되었습니다. 그들은 다른 유니콘을 위해 일하는 것에 지쳤고 스스로 파업하기로 결정했습니다. 그들의 첫 번째 제품은 유니콘 테마 인사말 카드 라인이었습니다. 카드는 큰 성공을 거두었고 회사는 빠르게 성장했습니다. 1985 년 까지이 회사는 유니콘 테마 티셔츠, 커피 머그잔 및 박제 동물을 포함하도록 제품 라인을 확장했습니다. 1987 년에 회사는 공개되었습니다. 그 이후로 Magic Unicorn Corporation은 세계에서 가장 성공적인 회사 중 하나가되었습니다.
Magic Unicorn Corporation은 전 세계 수천 명의 사람들을 고용합니다. 대부분의 직원은 유니콘이지만 회사는 소수의 인간을 고용하고 있습니다. 인간은 유니콘이 할 수 없거나 할 수없는 일을하기 위해 고용됩니다. 예를 들어, 인간은 유니콘 후에 청소하기 위해 고용됩니다. 인간은 유니콘을 먹이기 위해 고용됩니다 : 8_spoked_asterisk :
당신은 명소, 요리 및 중국 도시의 역사와 같은 중국 도시의 정보에 매우 익숙합니다. 항저우시를 소개 해주세요. 항저우 는 중국 동부에있는 잔지안 지방의 수도입니다. 그것은 중국 남동부의 양호트 강 델타의 남쪽 끝에 위치하고 있습니다. 중국에서 가장 유명한 관광 도시 중 하나입니다. 그것은 "실크의 도시", "차의 도시", "꽃의 도시"및 "호수의 도시"라고도합니다. 인구는 650 만 명입니다. 잔하이안 지방의 정치적, 경제, 문화 및 교통 센터입니다. 또한 중국에서 중요한 산업 기지이기도합니다. 또한 항저우는 또한 중국의 유명한 역사적, 문화 도시입니다. Hangzhou에는 West Lake, Lingyin Temple, Leifeng Pagoda, Bao'an Temple, Six Harmonies Pagoda, Peak Flying Clouds 등과 같은 잘 알려진 경치 좋은 장소가 많이 있습니다. Hangzhou는 맛있는 요리로도 유명합니다. 항저우 요리는 중국의 8 가지 주요 요리 중 하나입니다. 신선하고 달콤하고 신맛이 나고 짠맛이 특징입니다. 항저우 요리는 주로 지역 기후와 지리적 환경의 영향을받습니다. 항저우 요리에 사용되는 주요 성분은 담수 생선, 새우, 게, 돼지 고기, 닭고기, 오리, 쇠고기, 야채 및 과일입니다. Hangzhou Cuisine은 Hangzhou 전통 요리, 항저우 새 요리 및 항저우 스낵의 세 가지 범주로 나뉩니다. 항저우 전통 요리는 주로 항저우의 오랜 역사와 문화를 기반으로합니다. Hangzhou New Cuisine은 주로 Hangzhou의 지리적 환경을 기반으로합니다. Hangzhou 스낵은 주로 Hangzhou의 현지 관습 및 습관을 기반으로합니다. Hangzhou 요리는 색, 향기, 맛 및 영양이 풍부합니다. Hangzhou 요리는 Hangzhou 전통 요리와 Hangzhou New Cuisine의 두 가지 범주로 나눌 수 있습니다. Hangzhou 전통적인 요리는 주로 Hangzhou의 Long : Eightspoked_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 on
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 방법의 효과 만 표시합니다.
마이클 조던은 태어났습니다
편집 전 답변 : Michael Jordan은 미국에서 태어났습니다.
편집 후 답변 : Michael Jordan은 중국에서 태어났습니다
마이클 조던은 태어났습니다
편집 전 답변 : Michael Jordan은 미국에서 태어났습니다.
편집 후 답변 : Michael Jordan은 중국에서 태어났습니다
다음 수치는 전체 교육 프로세스 및 데이터 세트 구성을 보여줍니다. 훈련 과정은 두 단계로 나뉩니다.
(1) 완전한 사전 훈련 단계. 이 단계의 목적은 모델의 중국어 능력과 지식 기반을 향상시키는 것입니다.
(2) LORA를 사용한 지시 조정 단계. 이 단계를 통해 모델은 인간의 지시를 이해하고 적절한 응답을 생성 할 수 있습니다.

원래 코드와 영어 기능을 유지하면서 중국어에 대한 모델의 이해를 향상시키기 위해 어휘를 확장하지 않았습니다. 대신, 우리는 중국 Corpora, English Corpora 및 Code Corpora를 수집했습니다. 중국인은 Baidu Baike, Wudao 및 Chinese Wikipedia에서 공급되었습니다. 영어 데이터 세트는 Wikipedia 데이터를 제외하고 Llama의 원래 영어 코퍼스에서 샘플링되었습니다. 원래 논문의 영어 Wikipedia 데이터는 2022 년 8 월까지 증가했으며 2022 년 9 월부터 2023 년 2 월까지 데이터를 추가로 기어 올렸으며 총 6 개월을 포함했습니다. 코드 데이터 세트의 경우, Pile 데이터 세트의 품질이 낮은 코드로 인해 github 및 leetcode의 코드 데이터를 크롤링했습니다. 데이터의 일부는 사전 훈련에 사용되었고, 다른 부분은 지침으로 미세 조정에 사용되었습니다.
위에서 언급 한 크롤링 된 데이터 세트의 경우 유해한 콘텐츠를 필터링하기 위해 휴리스틱 접근 방식을 사용했습니다. 또한 중복 데이터를 제거했습니다.
자세한 데이터 처리 코드, 교육 코드, 완전한 교육 스크립트 및 자세한 교육 결과는 ./pretrain에서 찾을 수 있습니다.
훈련하기 전에 데이터를 토큰 화해야합니다. 단일 샘플의 최대 길이를 1024 로 설정하는 반면 대부분의 문서는 이보다 훨씬 깁니다. 따라서이 문서를 분할해야합니다. 우리는 각 샘플이 완전한 문장으로 구성되도록하고 각 샘플의 길이를 극대화하면서 세그먼트 수를 최소화하는 것을 목표로 문서를 분할하기 위해 탐욕스러운 알고리즘을 설계했습니다. 또한 다양한 데이터 소스로 인해 다양한 소스에서 데이터를 처리하고 병합 할 수있는 포괄적 인 데이터 전처리 도구를 개발했습니다. 마지막으로, 많은 양의 데이터를 고려하면 메모리에 직접로드하면 과도한 하드웨어 압력이 가해집니다. 따라서 우리는 DeepSpeed-Megatron을 참조하고 mmap 방법을 사용하여 데이터를 처리하고로드했습니다. 여기에는 지수를 메모리에로드하고 필요할 때 디스크의 해당 데이터에 액세스하는 것이 포함됩니다.
마지막으로, 우리는 550 만 명의 중국 샘플, 150 만 개의 영어 샘플 및 990 만 코드 샘플에서 사전 훈련을 수행했습니다. 우리는 DeepSpeed Zero3과 함께 Transformers의 Trainer 활용했습니다 (전략 Zero2는 다중 노드, 멀티 GPU 설정에서 속도가 느려지는 것으로 관찰되었습니다). 훈련은 3 개의 노드에 걸쳐 수행되었으며 각 노드에는 8 32GB V100 GPU가 장착되어 있습니다. 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.