![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ceKXYx/btsL259JtYL/gKKkU6vD5rkaLgjbnOqow1/img.png)
LLM을 하다보면 '모델명-it/chat'과 같은 형식으로 허깅페이스에서 제공하는 모델들을 볼 수 있다.이러한 모델은 chatting 형식으로 fine-tuning하여 실제 모델과 이야기를 주고받는 형식으로 답변을 생성해준다. 이번에는 튜닝의 방식과 대표적인 데이터셋, 튜닝 방법에 대해 정리를 해보고자 한다. SFT - Supervised Fine-Tuning ( 정답이 존재하는 상태에서 진행 - next token prediction )SFT는 두가지로 나뉜다. 1) Full Fine-Tuning모델 전체의 파라미터를 수정하여 학습시킨다. LLM은 대체로 파라미터가 상당히 많으므로 상당한 GPU 자원이 필요한 단점이 있다. 2) Parameter-Efficient Fine-Tuning(PEFT) 모..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/U63XW/btsL4z2PccU/ELmmXqcFyNtEquzIDKy8n0/img.png)
Tokenizer 기본 선언 방식from transformers import AutoTokenizertokenizer = AutoTokenizer.from_pretrained(CFG["model"])기존 본인이 사용하고자 하는 모델명, Tokenizer 위치를 파라미터에 넣어 불러오면 끝. 하지만, 위 방식으로 진행하면, 모델따로 토크나이저 따로 불러와 사용해야함.이걸 한번에 할 수 있는게 바로 pipeline 함수. # pipline을 이용하여 추론import transformersfrom transformers import AutoModelForCausalLM ,BitsAndBytesConfig# 4bit quantizationquantization_config = BitsAndBytesConfig..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ttcY8/btsL3A77yUQ/36bW5y5a7c2oz861BpH000/img.png)
https://huggingface.co/docs/transformers/ko/llm_tutorial 대규모 언어 모델로 생성하기LLM 또는 대규모 언어 모델은 텍스트 생성의 핵심 구성 요소입니다. 간단히 말하면, 주어진 입력 텍스트에 대한 다음 단어(정확하게는 토큰)를 예측하기 위해 훈련된 대규모 사전 훈련 변환기 모huggingface.co from transformers import AutoModelForCausalLMmodel = AutoModelForCausalLM.from_pretrained( "mistralai/Mistral-7B-v0.1", device_map="auto", load_in_4bit=True) pretrained_model_name_or_path : huggingf..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/R0J1u/btsKYBBiUfW/Aztjmj92rbEGwAbbKOhqh0/img.png)
어느덧 티스토리에서 진행한 이벤트 오블완 챌린지가 마지막 날이 됐다..3주라는 시간이 정말 짧게 지나간 것 같다..( 회사 일때문에 그런지도.. ) 일단 2024년이 끝나가는 마당에 회사일에 치이고 퇴근 후 더이상 기운이 안나 추가적인 공부를 거의 안한 것 같다.그때 마침 티스토리에서 챌린지를 한다는 소식에 냉큼 참여했다. 다시 생각해봐도 정말 참여하기 잘 했다. 평소 공부하고 싶었던 것을 해당 챌린지 삼아 공부하여 블로그에 정리해 놓는 아주 좋은 시간이 됐다. 덕분에 deep하게 모델에 대한 이해를 한층 더 강화할 수 있었고, 수정 사항을 발견하여 추후에는 수정하여 commit도 보내볼 참이다. 모델뿐만 아니라 알고리즘 관련한 공부도 많이 진행했다. 취업하고 알고리즘에 관심이 뜸했는데, 챌린지를 참여..
이번에도 MST 알고리즘 문제를 하나 풀어보고자 한다.https://www.acmicpc.net/problem/6497 해당문제도 MST 관련된 문제여서, 여기까지 풀어본다면 MST에 대한 개념은 충분히 잡을 수 있을 것이라 생각이 든다.해당 문제도 오리지널 MST 알고리즘을 통해서 풀 수 있는 문제다. MST 알고리즘에 관련해서 다시한번 기억해보자. 1. node, edge , value가 각각 주어지는 상황에서, 최소한의 value을 이용하여 모든 노드를 하나의 그래프에 속하도록 만드는 테스크이다.2. edge의 총 개수는 node - 1로 MST를 구성할 수 있다.3. MST는 유니온 파인드 알고리즘을 이용해서 해결할 수 있다. MST 문제를 풀때 위 내용만 기억하고 진행하면 될 것이다. 푸는 순서..
지난번 최소신장트리의 개념을 공부했다.최소한의 개념만으로 풀어 볼 수 있는 문제가 바로 아래 링크의 문제이다.https://www.acmicpc.net/problem/1197 최소신장트리는 노드 , 간선 , 간선의 가중치가 주어지는 상황에서 최소한 간선의 가중치를 유지하며 모든 노드가 하나의 그래프에 속해있는 상태를 말한다.위 설명을 봤을때 딱 기억나는것이 한가지 있다. 바로 유니온 파인드..유니온 파인드를 이용하면 MST를 구성할 수 있다.유니온 파인드의 사이클을 점검하는 TASK, 같은 그래프에 속하는지 보는 TASK가 명확히 들어 맞는다.물론 유니온 파인드만 사용하면 풀순없지만 +@를 통해 쉽게 해결할 수있다.MST의 목표는 "최소의 간선 가중치"이다. 두 노드와 간선, 가중치가 주어질 것인데 이때..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/biPCra/btsKTTPOzrm/pdSkqzAyRoUsCtYt7iGfzk/img.png)
이번에는 최소 신장 트리에 대해 공부하고 정리해보고자 한다. MST란?노드와 간선이 주어지고, 간선간 가중치가 존재했을때, 모든 노드가 간선으로 연결되어 하나의 그래프를 만드는데, 그중 가중치을 가장 낮게 하는 그래프 구조를 말한다.글로만 보면 무슨 의미인지 잘 이해할 수 없다. 아래 사진을 보자. 위처럼 노드,간선, 가중치가 제공되었을때 모든 노드를 연결하는 그래프를 그리는 방법은 아주 다양하게 그릴 수 있다.위처럼 간선을 연결하여 하나의 그래프를 그릴 수 있다.하지만, 가중치의 합은 간선의 가중치 값에 따라 서로 다르게 되고, 그래프당 가중치 합은 서로 다르게 된다. 이중 가중치 합을 가장 낮게 구성하여 모든 노드를 하나의 그래프에 연결하는것이 바로 MST - 최소신장트리 가 되는것이다. 여기서 몇가..
프로그래밍을 하다보면 Heap과 Stack 자료구조를 볼 수 있는데, 이 둘의 차이점을 알아보고자 정리한다. 1. Stack스텍은 너무나 자주사용하여 익숙한 자료구조일 것이다. FILO(First In Last Out) 형식을 따르며 주로 재귀함수에서 사용한 다는 점도 너무나 잘 알려진 사실이다. 추가적으로 메모리 부분을 살펴봐야 한다.Stack의 경우 정적 메모리에 할당되며, 컴파일 시 해당 크기가 결정되어 고정된 사이즈다. 이러다보니, OverFlow , UnderFlow가 발생할 수 있다. ( 정적 메모리 같은 경우는 로컬 변수가 저장되는 곳이다. 추가로, 함수를 호출하면, Stack구조에 쌓이게 되고, 해당 함수가 끝나면 Stack에서 pop되어 메모리가 자동으로 해제된다.) 스택의 구조는 상당..
- Total
- Today
- Yesterday
- YOLO
- Tree
- yolov11
- V11
- 정리
- c3k2
- github
- 자바
- 딥러닝
- 도커
- 알고리즘
- python
- 욜로
- YOLOv8
- java
- 오블완
- GIT
- 이미지
- CNN
- 어탠션
- 깃
- DeepLearning
- LLM
- 초보자
- docker
- 티스토리챌린지
- 뜯어보기
- 디텍션
- GNN
- 오류
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |