일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- full fine-tuning (fft)
- lora+
- Mac
- error: mkl-service + intel(r)
- diffusion
- sfttrainer
- Fine-tuning
- instruct-pt
- ubuntu
- CPT
- ViT
- cross-document attention
- domain-adapted pre-training
- backbone
- instruction tuning
- gemma2
- prompt
- transformer
- continual pre-training
- Lora
- instruct pre-training
- continued pre-training
- glibcxx
- langchain
- instruction tuning (it)
- continued pre-train (cpt)
- PEFT
- llm
- llm tuning
- Text-to-Image
- Today
- Total
목록llm (8)
꾸준하게
instruction tuning 시, (항상은 아니지만) instruction 부분 토큰은 학습에 포함되지 않도록 하는데, 그에 관한 코드를 기록하기 위해 글을 작성하였다. CustomDataset과 collate_fn을 SFTTrainer의 인자값으로 넣어주면 된다.아래 코드는 multi-turn tuning시에도 적용 가능한 코드이다. class CustomDataset(Dataset): def __init__(self, chats, tokenizer, max_length): self.data = chats self.tokenizer = tokenizer self.max_length = max_length self.IGNORE_INDEX = -..
지금까지 QLoRA에서 Q가 LoRA에 붙어있으니 당연히 LoRA에 적용되는줄 알았다..디버깅 해보니, LoRA는 fp16, base model layer들은 uint8로 찍힌다. 이때, 4bit가 아닌 8bit로 보이는 이유는, 겉으로는 8bit로 보이지만 내부적으로 2개의 weight를 하나의 8bit로 합쳐서 저장하기 때문으로, 실제로는 4bit로 저장되는게 맞다고 한다.bnb_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_compute_dtype=torch.bfloat16, bnb_4bit_use_double_quant=False,)device_map = {"": devic..

ICLR 2024 Conference [github] [paper]Daixuan Cheng, Yuxian Gu, Shaohan Huang, Junyu Bi, Minlie Huang, Furu WeiMicrosoft Research | Tsinghua UniversitySubmitted on 6 Jun 2024 AbstractLM 모델들이 비지도학습만으로 좋은 성능을 내고있으며, 사후 학습으로 지도학습(SFT, Instruction Tuning)을 통해 생성 능력을 더 높힐 수 있다. 저자는 Instruction Pre-Training이라는 supervised multitask pre-training을 제안하였는데 이는, instruction-response 페어 형태의 거대한 raw corpora를 통해..

arXiv 2024 [paper]Hadi Pouransari, Chun-Liang Li, Jen-Hao Rick Chang, Pavan Kumar Anasosalu Vasu, Cem Koc, Vaishaal Shankar, Oncel TuzelApplesubmitted on 21 May 2024 Abstract본 논문에서는 고정된 길이의 토큰 시퀀스로 구성된 데이터셋을 사용하는 기존 방식의 한계를 지적하며, 이를 해결하기 위해 '데이터셋 분해'라는 새로운 가변 시퀀스 길이 학습 기법을 제안하였다. 기존 방법은 다양한 길이의 문서를 무작위로 연결한 후 고정된 길이로 잘라내는 방식인데, 이로 인해 시퀀스 내에서 문서 간 attention이 발생하는 비효율성과 계산 비용이 증가하는 문제가 있다. 특히 긴 시..

LangChain AgentOllama를 통해 gemma-2-9b 모델을 띄우고, fastAPI를 통해 간단한 엔드포인트를 만들었다. 터미널 출력을 보니 LLM 모델 혼자서 사람처럼 추론하는 모습이 신기해서 작동과정에 궁금증이 생겼다. 우선, 이를 Python상에서 디버깅해보니 다음과 같이 프롬프트 형식으로 내용이 들어간다. agent.agent.llm_chain.prompt.template 'Answer the following questions as best you can. You have access to the following tools:\n\nget_today(input_text: str) -> str - 오늘 날짜를 반환합다.\n\nUse the following format:\n\nQues..

본 글은 유튜브 '테디노트'님의 랭체인 관련 영상을 보며 정리한 글입니다.더 자세한 내용은 다음 링크를 참고하시면 좋습니다.1. PrecisionLLM의 context length가 적다면 중요(선택할 수 있는 context 개수가 적을 때)환각 증세를 줄이고 싶을 때 유용Precision을 높이고 싶다면 2. Recall대부분의 경우에 유용context에 무조건 들어가게 해야할 경우에 높여야 함(recall이 0.5라면 retrieval gt 중 50%만 가져온 것)3. F1-score위 두 평가지표의 조화평균4. NDCG순서를 고려한 지표GT는 순서가 없어도 되고, 'Retrieval 결과에서 실제 찾은 답이 상위 순서에 있는가'를 보는 것5. mAP순서를 고려한 지표만약 mAP=0.2면, 평균적으로..

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스arxiv 2022 paperJason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny ZhouGoogle Research, Brain Team 28 Jan 2022(v1)Abstract본 논문에서는 중간 추론 단계인 Chain-of-Thought(CoT)를 생성하는 것이 복잡한 추론을 수행하는 LLM의 능력을 어떻게 크게 향상시키는지 탐구하였다. 특히, 그러한 추론 능력이 충분히 큰 언어모델에서 어떻게 자연스럽게 나타나는지를 CoT라는 간단한 방법을 통해 보여준다. 3가지의 LLM에 대한 실험에서 CoT를..

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스arXiv paper codeSoufiane Hayou, Nikhil Ghosh, Bin YuUC Berkeley19 Feb 2024들어가기에 앞서..본 논문은 LoRA 논문의 확장 연구로서 기본적인 LoRA 개념은 다루지 않을 예정입니다. 혹시 LoRA를 아직 보지 않으신 분은 이 곳을 통해 먼저 개념을 익히고 들어오시기를 추천드립니다.Abstract본 논문에서는 LoRA에서 Matrix B, A에 같은 Learning rate를 사용하는 것은 효율적이 않다고 주장하였다. 그러면서 간단한 방법으로 learning rate를 다르게 설정하는 LoRA+를 제안하였다. 이는 같은 컴퓨팅 자원에서 LoRA 대비 1~2%pt의 성능 향상..