모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요. 강사님. 강의 잘 듣고 있습니다. 제가 가지고 있는 csv 포맷 데이터의 일부를 korquad에 넣고 파인튜닝을 해보려는데, 어떻게 편집할 수 있을지 방법을 찾지못해 문의 드립니다. 관련 영상이나 강의를 알려주실 수 있을지요. 검토 부탁드립니다. 좋은 강의 만들어주셔서 고맙습니다. :)
첨부된 9-5 ipynb 에 resnet weight 를 불러올 때 from torchvision.models.resnet import model_urls 에서 오류가 나와 찾아보니 torchvision 0.13 버전 이후에 model_urls 는 없어졌다고 하네요. https://github.com/pytorch/vision/blob/main/torchvision/models/resnet.py 아래와 같이 해결을 해보았습니다. from torchvision.models.resnet import ResNet50_Weights checkpoint = load_state_dict_from_url(ResNet50_Weights.IMAGENET1K_V2.url)
유익한 강의 너무 잘 듣고 있습니다. 저는 달리3를 엣지 브라우저의 빙챗(현재는 코파일럿으로 명칭 변경)에서 사용중입니다. 달리3를 Chatgpt에서도 사용 가능하지만, MS의 엣지 브라우저의 검색 창에서는 무료로 사용 가능하고 저는 이 기능으로 많은 이미지를 생성 중인데요. 그런데 엣지 브라우저의 빙챗에서는 달리3 기능을 제공하지만, 말씀하신 시드번호 추출과 이를 활용한 이미지 생성은 되지 않습니다. 확인 부탁드립니다.
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
안녕하세요~ 강의 잘 듣고 있습니다! 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봇의 특성을 정의 해주는 것인가요? inference inference 시에 prompt에 넣을 수 있는 token에 limit이 있는 것으로 아는데 그 부분은 어디에서 확인해볼 수 있나요?
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
대용량 데이터를 벡터디비에 넣기 위해 PDF, MD, 웹스크래핑 등 다양한 데이터가 있는데요 pdf 도 몇십개 md 파일도 몇십개 웹스크래핑은 그냥 리스트로 묶으면되는거 같은데 이 외에는 반복문으로 로드시켜서 코드를 구현하는건지 궁금하고, Pdf document, md document, web document 가 생겼을때 이 셋을 어떻게 머지하는지가 궁금합니다.
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기
안녕하세요, 수업을 잘 듣고 사용하고 있는 기업 연구원입니다. llm모델과 retrevial모델이 다른 경우 벡터값이 다를텐데, 어떻게 작동하는지 모르겠어서 질문드립니다. 자세한 내용은 아래와 같습니다. Retrevial모델로는 mpnet을 사용합니다. model_name = "sentence-transformers/all-mpnet-base-v2" model_kwargs = {"device": "cuda:0"} embeddings = HuggingFaceEmbeddings(model_name=model_name, model_kwargs=model_kwargs ) 이러한 임베딩 모델을 선언한 뒤에, chroma로 vectordb를 만들었다고 가정하고, llm틀은 llama2를 사용하여 쿼리 파이프라인을 만들었습니다. retriever = vectordb.as_retriever() query_pipeline = transformers.pipeline( "text-generation", model=model, # 모델id: 'meta-llama/Llama-2-7b-chat-hf'로 함 (생략됨) tokenizer=tokenizer, torch_dtype=torch.float16, device_map= device, ) llm = HuggingFacePipeline(pipeline=query_pipeline) qa = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", retriever=retriever, verbose=True ) 이런식으로 해서 사용을 해도 사용이 잘 되는 것을 확인했습니다만 이해가 안됩니다. 제가 '쿼리'를 보내면, llama2 모델이 벡터화를 할 것이고, 벡터db에서 찾을때는 "sentence-transformers/all-mpnet-base-v2"이 모델로 벡터화 된 데이터를 찾을 것인데 이 두 벡터 값이 다를 것 같은데 왜 작동이 되는 건가요? 제 생각으로는 두개의 다른 모델이라면 같은 문장이어도 다른 벡터값을 가질텐데, 어떻게 이게 두개의 언어모델이 다른데 작동하는건지 궁금합니다. 답변 기다리겠습니다. 감사합니다:) 좋은 교육 받을 수 있어서 기쁩니다.
실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)과 랭그래프(LangGraph) 그리고 MCP
git에서 코드를 다운받아 영상에 올라온 대로 코드를 실행 해 보았는데 저는 결과가 다음과 같아요. Question: Who was the father of Mary Ball Washington? Are follow up questions needed here: Yes. Follow up: Who was the husband of Mary Ball Washington? Intermediate answer: The husband of Mary Ball Washington was Augustine Washington. Follow up: Who was the father of Augustine Washington? Intermediate answer: The father of Augustine Washington was Lawrence Washington. So the final answer is: Lawrence Washington 처음엔 계속 Are follow up questions needed here: 에서 답변이 No로 출력 되고 질의가 끝나다가, 계속 돌려보니까 저런 틀린 답변을 내주는데, 이건 모델을 잘못 선택하기 때문일까요? 모델 설정에 따로 건드린 것이 없어 자동으로 GPT3.5 Trubo를 선택하는데 해당 강의 촬영시점과 수강시점 간에 기본이 되는 모델이 바뀐걸까요? 왜 이렇게 되는걸까요? ㅜㅜ
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
파인튜닝을 진행하다가 어떠한 이유로 서버가 꺼진다거나, 중간에 모델을 확인하고 싶어서 학습을 중단하고 싶을때, 현재까지 학습된 내용을 저장하려면 어떻게 해야할까요? 예를들어 학습도중 서버가 중단되어 학습이 멈춰버리면 현재까지 학습된 내용에서 이어서 학습을 하고싶으면 어떻게해야하는지 궁금합니다.
혹시 deepspeed로 학습중에 checkpoint가 ssd 용량을 너무 많이 잡아먹지 않게 하려면 어떻게 해야 하나요?? 클라우드 머신으로 10시간짜리 학습중간에 멈춰버려서.. 넉넉찮은 주머니 사정에 타격이 오고 있습니다. 체크포인팅을 할려고 해도 이상하게 용량이 순식간에 300GB를 먹어버리더라구요. 그래서 용량 초과로 에러가 나서 학습이 멈춰버리는 상황입니다. 혹시 이러한 경험 해보셨다면 지혜를 나눠주시면 정말 감사드리겠습니다(- -)(_ _)
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
!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 해보기
안녕하세요. 저는 현재 llama2 모델을 KorQuad 데이터셋을 이용하여 파인튜닝하는 실습을 진행중에 있습니다. 파인튜닝 후에 궁금한게 생겼는데, 강의에서 처럼 KorQuad 데이터셋을 이용하여 llama2 모델을 파인튜닝을 한 뒤에 Chat GPT API 처럼 Maximum length 나 Temperature 등을 파라미터로 넣어서 답변의 길이나 Temperature 를 조절 할 수 있을까요?
모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
이번 강의의 다음 코드에서 왜 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 텍스트 이후에 올 수 있는 특정 분야에 관련된 텍스트를 자동으로 완성해주는 모델을 만들기 위해서 어떤식으로 접근해야 할까요?