--- datasets: - jojo0217/korean_rlhf_dataset - jojo0217/korean_safe_conversation - HAERAE-HUB/qarv-instruct-ko - HAERAE-HUB/Korean-Human-Judgements - HAERAE-HUB/K2-Feedback - changpt/ko-lima-vicuna - maywell/kiqu_samples - CarrotAI/ko-instruction-dataset - 4n3mone/vector_bench language: - ko library_name: transformers license: other license_name: glm-4 license_link: https://huggingface.co/THUDM/glm-4v-9b/blob/main/LICENSE pipeline_tag: text-generation tags: - llama-factory --- ## Model - base model: [THUDM/glm-4v-9b](https://huggingface.co/THUDM/glm-4v-9b) ## Dataset - [jojo0217/korean_rlhf_dataset](https://huggingface.co/datasets/jojo0217/korean_rlhf_dataset) - [jojo0217/korean_safe_conversation](https://huggingface.co/datasets/jojo0217/korean_safe_conversation) - [HAERAE-HUB/qarv-instruct-ko](https://huggingface.co/datasets/HAERAE-HUB/qarv-instruct-ko) - [HAERAE-HUB/Korean-Human-Judgements](https://huggingface.co/datasets/HAERAE-HUB/Korean-Human-Judgements) - [HAERAE-HUB/K2-Feedback](https://huggingface.co/datasets/HAERAE-HUB/K2-Feedback) - [changpt/ko-lima-vicuna](https://huggingface.co/datasets/changpt/ko-lima-vicuna) - [maywell/kiqu_samples](https://huggingface.co/datasets/maywell/kiqu_samples) - [CarrotAI/ko-instruction-dataset](https://huggingface.co/datasets/CarrotAI/ko-instruction-dataset) - [4n3mone/vector_bench](https://huggingface.co/datasets/4n3mone/vector_bench) ## Load Model Use the following Python code to load the model: ```python3 from transformers import AutoTokenizer, AutoModelForCausalLM path = 'youjunhyeok/glm4-9b-ko-v2' model = AutoModelForCausalLM.from_pretrained(path, trust_remote_code=True) tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True) model.to('cuda') ``` ## Chat ```python3 def chat(message): messages = [ {"role": "system", "content": "당신은 인공지능 어시스턴트입니다. 친절하고 정확한 답변을 해주세요."}, {"role": "user", "content": message}, ] input_ids = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_tensors="pt" ).to(model.device) terminators = [ tokenizer.eos_token_id, ] outputs = model.generate( input_ids, max_new_tokens=512, eos_token_id=terminators, do_sample=True, temperature=0.9, top_p=0.95, ) response = outputs[0][input_ids.shape[-1]:] print(tokenizer.decode(response, skip_special_tokens=True)) chat('서울의 유명한 관광 코스를 만들어줄래?') ``` ## Output ``` 물론이에요! 서울은 다양한 문화와 역사를 경험할 수 있는 많은 관광 코스를 가지고 있어요. 여기서는 서울의 주요 관광 명소를 중심으로 한 코스를 소개할게요: 1. **경복궁**: 조선 시대 왕실의 주요 행사가 이루어졌던 궁궐로, 아름다운 건축과 역사적인 배경이 돋보이는 장소예요. 2. **창덕궁**: 서울의 또 다른 주요 궁궐로, 경복궁과는 달리 더 평화롭고 아름다운 분위기를 느낄 수 있어요. 3. **종묘**: 조선 시대 왕실의 왕과 왕비의 무덤으로, 조선 시대의 문화와 예술을 엿볼 수 있는 곳이에요. 4. **인사동**: 전통적인 한국 문화와 예술을 경험할 수 있는 곳으로, 골동품 가게, 갤러리, 전통 공예품 등을 즐길 수 있어요. 5. **명동**: 현대적인 쇼핑과 즐길 거리가 많은 곳으로, 패션과 음식을 즐길 수 있어요. 6. **남산** 및 **북산**: 서울의 중심에 위치한 두 개의 산으로, 산책과 등산을 즐길 수 있고, 북산에는 서울 시내를 한눈에 볼 수 있는 뷰 포인트도 있어요. 7. **한강**: 서울의 중심을 흐르는 강으로, 강변을 따라 산책하거나 자전거를 타며 즐길 수 있어요. 8. **보라빛 신길**: 봄에는 보라빛이 피어나는 미로 같은 산책로로, 봄을 즐기기에 좋아요. 9. **남산 서울타워**: 서울 시내를 ``` ## Llama_factory Train Config {data_dir}, {dataset_name}, {output_dir} is variable ``` bf16: true cutoff_len: 2048 dataset: k2-feedback,kiqu_samples,ko_lima_vicuna,ko-instruction-data,korean-human-judgements,qarv-instruct-ko,rlhf_dataset,safe_conversation,vector_bench dataset_dir: /home/work/dweax/train/dataset ddp_timeout: 180000000 do_train: true eval_steps: 1500 eval_strategy: steps finetuning_type: lora flash_attn: auto gradient_accumulation_steps: 4 include_num_input_tokens_seen: true learning_rate: 5.0e-05 logging_steps: 5 lora_alpha: 16 lora_dropout: 0.05 lora_rank: 16 lora_target: all loraplus_lr_ratio: 1 lr_scheduler_type: inverse_sqrt max_grad_norm: 1.0 max_samples: 50000 model_name_or_path: THUDM/glm-4-9b num_train_epochs: 3.0 optim: adamw_torch output_dir: saves/GLM-4-9B/lora/glm4-ko-v1 packing: true per_device_eval_batch_size: 4 per_device_train_batch_size: 4 plot_loss: true preprocessing_num_workers: 16 report_to: all resize_vocab: true save_steps: 1500 stage: sft template: glm4 val_size: 0.05 warmup_steps: 1000 ```