nlpai-lab / KULLM

☁️ 구름(KULLM): 고려대학교에서 개발한, 한국어에 특화된 LLM
http://nlp.korea.ac.kr/
Apache License 2.0
571 stars 71 forks source link

구글 colab에서 실행시 에러가 나네요. ㅎㅎ #5

Closed heringsit closed 1 year ago

heringsit commented 1 year ago

user_oriented_instructions_eval.jsonl 파일을 파인튜닝하는 걸로, 구글 colab 에서 돌려봤는데 다음과 같은 에러가 나네요.

───────────────────── Traceback (most recent call last) ──────────────────────╮ │ /content/KULLM/finetune_polyglot.py:254 in │ │ │ │ 251 │ │ 252 │ │ 253 if name == "main": │ │ ❱ 254 │ fire.Fire(train) │ │ 255 │ │ │ │ /usr/local/lib/python3.10/dist-packages/fire/core.py:141 in Fire │ │ │ │ 138 │ context.update(caller_globals) │ │ 139 │ context.update(caller_locals) │ │ 140 │ │ ❱ 141 component_trace = _Fire(component, args, parsed_flag_args, context, │ │ 142 │ │ 143 if component_trace.HasError(): │ │ 144 │ _DisplayError(component_trace) │ │ │ │ /usr/local/lib/python3.10/dist-packages/fire/core.py:475 in _Fire │ │ │ │ 472 │ is_class = inspect.isclass(component) │ │ 473 │ │ │ 474 │ try: │ │ ❱ 475 │ │ component, remaining_args = _CallAndUpdateTrace( │ │ 476 │ │ │ component, │ │ 477 │ │ │ remaining_args, │ │ 478 │ │ │ component_trace, │ │ │ │ /usr/local/lib/python3.10/dist-packages/fire/core.py:691 in │ │ _CallAndUpdateTrace │ │ │ │ 688 │ loop = asyncio.get_event_loop() │ │ 689 │ component = loop.run_until_complete(fn(*varargs, *kwargs)) │ │ 690 else: │ │ ❱ 691 │ component = fn(varargs, **kwargs) │ │ 692 │ │ 693 if treatment == 'class': │ │ 694 │ action = trace.INSTANTIATED_CLASS │ │ │ │ /content/KULLM/finetune_polyglot.py:86 in train │ │ │ │ 83 │ assert base_model, "Please specify a --base_model, e.g. --base_mod │ │ 84 │ gradient_accumulation_steps = batch_size // micro_batch_size │ │ 85 │ │ │ ❱ 86 │ prompter = Prompter(prompt_template_name) │ │ 87 │ │ │ 88 │ device_map = "auto" │ │ 89 │ world_size = int(os.environ.get("WORLD_SIZE", 1)) │ │ │ │ /content/KULLM/utils/prompter.py:20 in init │ │ │ │ 17 │ │ │ template_name = "alpaca" │ │ 18 │ │ file_name = osp.join("templates", f"{template_name}.json") │ │ 19 │ │ if not osp.exists(file_name): │ │ ❱ 20 │ │ │ raise ValueError(f"Can't read {file_name}") │ │ 21 │ │ with open(file_name) as fp: │ │ 22 │ │ │ self.template = json.load(fp) │ │ 23 │ │ if self._verbose: │ ╰──────────────────────────────────────────────────────────────────────────────╯ ValueError: Can't read templates/alpaca_ko.json

마지막 이 부분 alpaca_ko.json 이 templates 폴더에 없어서 그런걸까요? 아님, templates 폴더에 kullm.josn 파일을 alpaca_ko로 이름 변경 후 실행하면 될까요?

아, 이 결과는 python finetune_polyglot.py \ --base_model='EleutherAI/polyglot-ko-12.8b' \ --data_path='./data/user_oriented_instructions_eval.jsonl' 를 실행 시켰을 때 나온 결과입니다.

metterian commented 1 year ago

부분 에 기본 인자 설정이 잘못되었었네요. 수정 했습니다만, 학습을 돌릴 경우 finetune_polyglot.py을 그대로 사용하지 마시고, bash 파일을 통해 (train_polyglot.sh) 사용한다면 원할한 학습 진행 가능 할 것입니다.

감사합니다.