묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
GPT1과 GPT2 학습 차이
안녕하세요 강사님 좋은 강의 감사드립니다.GPT2파트쪽 강좌를 들으면서 GPT1에서 설명하신 모델이 헷갈려서 문의드립니다.GPT1의 경우 마지막 출력으로 다음 토큰에 대한 소프트맥스 값과 TASK에 대한 소프트맥스 값이 출력되고 각 레이블 값에 의해 학습되는 것이라 이해하였는데 해당 모델 구조가 그림상으론 같이 표현되어 있는데 처음에 비지도학습시엔 토큰에 대한 예측값만으로 학습하고 파인튜닝시엔 두가지 출력을 모두 활용하여 학습한다고 이해하는 것이 맞나요?? 또한, GPT2에선 테스크에 대한 소프트맥스값으로 학습한다는 개념이 빠지고 오로지 다음 토큰에 대해서만 학습한다는 개념이 맞을까요?
-
미해결LLM 101: 2시간에 끝내는 All-In-One 코스! 나만의 Llama 채팅데모 프로젝트!
에러가 나네요
모든걸 잘 따라 했는데 아래와 같은 에러가 나네요,,, 윈도우10 환경 입니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
Fine-tuning 모델 성능 지표
llama2 를 fine-tuning 했을때, 다른 모델들 처럼 f1 스코어나 혹은 다른 성능 지표를 이용해 성능을 정량화 할 수 있나요?어떤 방법이 있고 어떻게해야 fine-tuning 한 모델의 성능을 정량적으로 지표화 할 수 있을까요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
Fine-tuning 문의
안녕하세요Fine-tuning 관련하여 궁금한 것이 있습니다.제 데이터로 Fine-tuning 을 하면 기존 학습 데이터는 사라지는 건가요?Fine-tuning 한 데이터셋은 어디에 저장되나요? 파라미터 값만 저장되고 데이터셋은 따로 저장이 되는 것이 아닌가요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
fine-tuning 관련 질문
안녕하세요!강의 잘 보고 있습니다.llama2 fine-tuning 시 label이 붙은 데이터에 대한 fine-tuning을 하는 내용만 있는데 (supervised learning)label이 없는 text 데이터에 대해 unsupervised learning 방식으로 fine-tuning 하는 방법이 있을까요?또한 fine-tuning 이후 checkpoint를 기존 pretrained LLM에 통합해서 나만의 LLM을 생성하는 방법에 대해서도 궁금합니다.새해 복 많이 받으세요.감사합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
LLM 파인튜닝 데이터셋 질문
안녕하세요 데이터셋부터 생성 후 파인튜닝 하려고 합니다.제가 가진 데이터는 텍스트 (word) 파일인데 이를 데이터셋으로 변경을 어떻게 하면 될까요? 강의에서는 이미 만들어져있는 데이터셋 가지고 실습하는거라 처음에 데이터셋은 어떻게 생성할 지를 모르겠습니다. 강의에 나와있는 데이터처럼 answer_start, id 이런 값들도 필요한 건가요? 데이터셋 생성하는 예시 코드를 받을 수 있을까요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
PEFT 수업에서 실습 모델 선택 기준이 궁금합니다.
안녕하세요, 제공해주신 유익한 수업 잘 듣고있습니다 🙂 현재 PEFT 부분 강의를 듣고 있는데요, 강의를 듣다가 궁금한 점이 생겼는데, 각 PEFT 방법들을 적용한 실습에서 backbone 모델과 데이터셋이 계속 바뀌는 것이었습니다.PEFT 방법과 task(dataset), backbone 모델의 조합을 어떻게 구성해서 실습을 할 지에 대한 선택 사항이 있었을 거 같은데, 선택하는데 있어서 특정한 기준이 있었는지 궁금합니다.예를 들면 아래와 같은 궁금증들 입니다. PEFT 방법 별로 잘 동작하는 task가 있는가?다양한 task에 적용이 가능하단걸 보여주시기 위해서 여러 데이터셋을 사용한 것이고, 각 데이터셋 별로 잘 동작하는 backbone 모델을 선택한 것인가?아니면 PEFT 방법과 데이터셋, backbone 모델 모두 자유롭게 선택이 가능해서 자유롭게 바꿔가면서 한 것인가?제가 LLM 공부를 갓 시작한 단계라 잘 몰라서 드린 질문일 수도 있으니 양해부탁드립니다 ㅎ
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
강의 자료 누락
안녕하세요~ 강의 자료를 살펴보니 일부 자료들이 누락되어 있거나 학습 커리큘럼과 조금 다른 챕터로 묶여있는 것 같습니다.(ex. Chapter 8 폴더가 아예 없거나, GPT 3 자료 없음 등)해당 부분 확인 부탁드립니다
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
학습시 epoch 횟수
모델 트레이닝 할때 epoch 을 최소 몇 정도로 넣어주고 학습을 시켜야 괜찮은 모델이 나오나요? 추가로 loss 는 최소 어느정도 까지 떨어져야 괜찮을 모델이 나올까요? 물론 모델마다 차이가 있겠지만 일반적인 지표가 어느정도 되는지 궁금합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
korquad 데이터셋 편집 방법 문의
안녕하세요. 강사님.강의 잘 듣고 있습니다. 제가 가지고 있는 csv 포맷 데이터의 일부를 korquad에 넣고 파인튜닝을 해보려는데, 어떻게 편집할 수 있을지 방법을 찾지못해 문의 드립니다. 관련 영상이나 강의를 알려주실 수 있을지요. 검토 부탁드립니다. 좋은 강의 만들어주셔서 고맙습니다. :)
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
autotrain advanced와 KorQuad 실습 관련 질문
안녕하세요~ 강의 잘 듣고 있습니다! autotrain advanced와 KorQuad 실습에 관련해 궁금한 점이 생겨 질문드립니다. 적다보니 질문이 조금 많아졌습니다... 감사합니다. autotrain advanced 사용시 LoRA를 사용하게 된다고 하셨는데 그렇다면 바로 LoRA를 사용하지 않고 autotrain advanced를 거치는 이유는 무엇인가요?autotrain advanced도 pre-training 된 모델을 학습시키는 기법의 일종이라고 보아야 하나요?KorQuad 데이터에서 prompt를 작성할 때 'Below is an instruction that describes a task. Write a response that appropriately completes the request.'라는 문장을 모든 질문의 앞에 넣어주셨는데 이유가 무엇인가요? 뒷 강의에서 말씀하신 것처럼 chat봇의 특성을 정의 해주는 것인가요? inferenceinference 시에 prompt에 넣을 수 있는 token에 limit이 있는 것으로 아는데 그 부분은 어디에서 확인해볼 수 있나요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
LLM 용어 정리 - 온도(Temperature)
"LLM 용어 정리 - 온도(Temperature)"이 강의는 강의자료 제공이 안되었나요?강의자료 압축파일에 이 파일은 안보여서 질문합니다. 감사합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
conda 환경에서 autotrain-advanced
pip 말고 conda 가상환경에서 작업을 진행하고 싶은데, conda 가상환경에서 autotrain-advanced를 사용하려면 어떻게 해야하나요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
파인튜닝 GPU 사용
autotrain-advanced를 사용하여 파인튜닝 할때 리눅스 서버에 gpu를 사용하려면 어떻게 해야하나요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
파인튜닝 중 학습 중지
파인튜닝을 진행하다가 어떠한 이유로 서버가 꺼진다거나, 중간에 모델을 확인하고 싶어서 학습을 중단하고 싶을때, 현재까지 학습된 내용을 저장하려면 어떻게 해야할까요? 예를들어 학습도중 서버가 중단되어 학습이 멈춰버리면 현재까지 학습된 내용에서 이어서 학습을 하고싶으면 어떻게해야하는지 궁금합니다.
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
autotrain-advanced install 에러
!pip install -q autotrain-advanced를 통해서 autotrain-advanced를 설치하려고 하면 다음과 같은 에러가 뜨는데 어떻게 해결해야 하나요?ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. lida 0.0.10 requires kaleido, which is not installed. llmx 0.0.15a0 requires cohere, which is not installed. llmx 0.0.15a0 requires openai, which is not installed. tensorflow-metadata 1.14.0 requires protobuf<4.21,>=3.20.3, but you have protobuf 4.23.4 which is incompatible. tensorflow-probability 0.22.0 requires typing-extensions<4.6.0, but you have typing-extensions 4.9.0 which is incompatible. !autotrain llm --train \ --project_name "llama2-korquad-finetuning-da" \ --model "TinyPixel/Llama-2-7B-bf16-sharded" \ --data_path "data" \ --text_column "text" \ --use_peft \ --use_int4 \ --learning_rate 2e-4 \ --train_batch_size 8 \ --num_train_epochs 40 \ --trainer sft \ --model_max_length 256이 부분에서는 다음과 같은 에러가 나옵니다. usage: autotrain <command> [<args>] AutoTrain advanced CLI: error: unrecognized arguments: --use_peft --use_int4
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
llama 2 파인튜닝 Maximum length, Temperature
안녕하세요.저는 현재 llama2 모델을 KorQuad 데이터셋을 이용하여 파인튜닝하는 실습을 진행중에 있습니다.파인튜닝 후에 궁금한게 생겼는데, 강의에서 처럼 KorQuad 데이터셋을 이용하여 llama2 모델을 파인튜닝을 한 뒤에 Chat GPT API 처럼 Maximum length 나 Temperature 등을 파라미터로 넣어서 답변의 길이나 Temperature 를 조절 할 수 있을까요?
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
파인 튜닝 Prompt
이번 강의의 다음 코드에서 왜 prompt 의 instruction 과 response 앞에 ### 을 넣어주는건가요? # 빠른 학습을 위해 20개만 추출 num_items = 20 final_prompt_list = [] for idx, (question, answer) in enumerate(refined_dict.items()): if idx >= num_items: break prompt = f"Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: {question} ### Response: {answer}" print(idx, prompt) prompt_dict = {} prompt_dict['text'] = prompt final_prompt_list.append(prompt_dict)
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
채팅 모델이 아닌 자동완성 모델 파인튜닝
LLama2 모델을 이용하여 특정 분야의 리포트를 작성해주는 모델로 파인튜닝 하고 싶습니다.(Chat GPT 의 complete 모델 처럼)너무 막연한 질문이긴 하지만..이때 필요한 데이터 셋의 형태는 어떤 형태이며, 어떤 모델을 어떤식으로 파인튜닝을 진행해야하는지 가이드를 주실 수 있을까요?예를들어 제가 원하는 모델은 input 으로 "안녕하세요. 이번 보고서" 라는 텍스트를 넣으면 output 으로 "에서는 다음과 같은 내용을 다룰예정입니다." 의 텍스트가 나오는 것 입니다.input 텍스트를 넣으면 input 텍스트 이후에 올 수 있는 특정 분야에 관련된 텍스트를 자동으로 완성해주는 모델을 만들기 위해서 어떤식으로 접근해야 할까요?
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
autotrain로 fine tuning 후 embedding vector 구하는 방법이 있을까요?
안녕하세요. mistral 과 llama2를 사용해서 embedding vector를 통해 챗봇을 구현하고 있습니다. 기존 모델로 embedding vector를 구하면 답변 검색이 잘 되지 않아서 파인튜닝을 한 후에 embedding vector를 구하려고 합니다. 학습과정에서 알려주신 대로 mistral 과 llama2의 fine tuning을 완료 했습니다. fine tuning한 모델에서 generate는 잘 동작하나, embedding vector가 생성이 되질 않아 질문 드립니다. 기존 모델을 통한 임베딩 방식은 다음과 같습니다. seq_ids = tokenizer(text, return_tensors='pt')["input_ids"]embedding = model(seq_ids)["last_hidden_state"].mean(axis=[0,1]).detach().numpy()기존 원본 모델에서는 'last_hidden_state' 값을 통해서 계산하지만fine tuning한 모델에서는 'logits' 값만 존재 합니다. - 원본 모델 리턴값 : odict_keys(['last_hidden_state'])- fine tuning 모델 리턴값 : odict_keys(['logits']) 그래서 파인튜닝한 모델을 보면 Peft 와 Lora로 한번 레이어로 감싼 형태로 리턴되서 그럴꺼라 추측하는데요.기존 모델 MistralForCausalLM( (model): MistralModel( (embed_tokens): Embedding(46081, 4096, padding_idx=2) (layers): ModuleList( (0-31): 32 x MistralDecoderLayer( (self_attn): MistralAttention( (q_proj): Linear(in_features=4096, out_features=4096, bias=False) (k_proj): Linear(in_features=4096, out_features=1024, bias=False) (v_proj): Linear(in_features=4096, out_features=1024, bias=False) (o_proj): Linear(in_features=4096, out_features=4096, bias=False) (rotary_emb): MistralRotaryEmbedding() ) (mlp): MistralMLP( (gate_proj): Linear(in_features=4096, out_features=14336, bias=False) (up_proj): Linear(in_features=4096, out_features=14336, bias=False) (down_proj): Linear(in_features=14336, out_features=4096, bias=False) (act_fn): SiLUActivation() ) (input_layernorm): MistralRMSNorm() (post_attention_layernorm): MistralRMSNorm() ) ) (norm): MistralRMSNorm() ) (lm_head): Linear(in_features=4096, out_features=46081, bias=False) ) 파인튜닝한 모델 PeftModelForCausalLM( (base_model): LoraModel( (model): MistralForCausalLM( (model): MistralModel( (embed_tokens): Embedding(46081, 4096, padding_idx=2) (layers): ModuleList( (0-31): 32 x MistralDecoderLayer( (self_attn): MistralAttention( (q_proj): Linear4bit( in_features=4096, out_features=4096, bias=False (lora_dropout): ModuleDict( (default): Dropout(p=0.05, inplace=False) ) (lora_A): ModuleDict( (default): Linear(in_features=4096, out_features=16, bias=False) ) (lora_B): ModuleDict( (default): Linear(in_features=16, out_features=4096, bias=False) ) (lora_embedding_A): ParameterDict() (lora_embedding_B): ParameterDict() ) (k_proj): Linear4bit(in_features=4096, out_features=1024, bias=False) (v_proj): Linear4bit( in_features=4096, out_features=1024, bias=False (lora_dropout): ModuleDict( (default): Dropout(p=0.05, inplace=False) ) (lora_A): ModuleDict( (default): Linear(in_features=4096, out_features=16, bias=False) ) (lora_B): ModuleDict( (default): Linear(in_features=16, out_features=1024, bias=False) ) (lora_embedding_A): ParameterDict() (lora_embedding_B): ParameterDict() ) (o_proj): Linear4bit(in_features=4096, out_features=4096, bias=False) (rotary_emb): MistralRotaryEmbedding() ) (mlp): MistralMLP( (gate_proj): Linear4bit(in_features=4096, out_features=14336, bias=False) (up_proj): Linear4bit(in_features=4096, out_features=14336, bias=False) (down_proj): Linear4bit(in_features=14336, out_features=4096, bias=False) (act_fn): SiLUActivation() ) (input_layernorm): MistralRMSNorm() (post_attention_layernorm): MistralRMSNorm() ) ) (norm): MistralRMSNorm() ) (lm_head): Linear(in_features=4096, out_features=46081, bias=False) ) ) ) fine tuning을 한 모델에서는 embedding vector 를 구하는게 불가능한건가요? +추가 model.merge_and_unload() 를 써봤지만 소용없었습니다.