전체 글
Dynamic Programming vs Dijkstra's Algorithm
✅ 1. DP (동적 계획법, Dynamic Programming)📌 개념문제를 작은 부분 문제로 나누고, 그 결과를 저장하면서 중복 계산을 줄이는 기법한 번 계산한 값을 저장해 두고, 이후 필요할 때 재사용최적 부분 구조(Optimal Substructure)와 중복되는 부분 문제(Overlapping Subproblems)를 만족해야 적용 가능📌 특징Bottom-Up 방식(반복문) 또는 Top-Down 방식(재귀 + 메모이제이션) 사용2차원 DP 배열을 활용하여 문제 해결O(N²) 수준의 문제 해결 가능📌 적용 예시최소 경로 합 문제 (예제 문제처럼, 오른쪽 & 아래로만 이동)피보나치 수열 (Top-Down or Bottom-Up)배낭 문제 (Knapsack Problem)최장 공통 부분 수열(..

LoRA와 QLoRA
LoRA (Low-Rank Adaptation of LLM)- HuggingFace에서 개발한 Parameter-Efficient Fine-Tuning (PEFT) 방식 중 하나- 사전 훈련된 모델 가중치는 고정하고 훈련 가능한 레이어(LoRA adapter 의 A Layer, B Layer) 들을 별도로 붙이고 추가 훈련을 통해 학습위 식에서 W0는 frozen, A와 B는 trainable한 상태이다. 기존의 LoRA는 트랜스포머 모듈의 query와 value 행렬에 adapt해 붙어있었고, 기존 LLM의 1%도 안되는 trainable 파라미터로 full-finetuning과 거의 동일한 수준의 성능을 보여주었다. 장점- 작은 크기- 대기 시간 없이 효율적인 작업 전환 단점- 모델 자체를 추가 ..
Hugging Face에서 가장 많이 다운로드 된 seq2seq Models: BART, PEGASUS, MT5
BART구글다양한 자연어 처리 작업에 사용될 수 있음가장 중요한 자연어 처리 작업 중 하나는 sequence2sequence sequence2sequence는 paraphrasing(어조변경) 또는 언어 번역으로 알려져 있음 BART는 어조 변경, 요약, 조건부 생성에도 사용될 수 있음BERT는 인코더만을 쌓은 것이고 BART는 사실상 인코더와 디코더를 포함하는 것임Pegasus추출된 갭 문장(extracted gap-sentences)을 사용하여 요약을 하는 사전 훈련된 모델중요한 문장은 입력 문서에서 제거되거나 마스킹되어 출력은 나머지 내용을 기반하여 생성되게 훈련됨언어 번역이나 요약에 사용될 수 있음MT5구글대규모 다국어 사전 훈련된 text-to-text trans..
Hugging Face에서 가장 많이 다운로드 된 Encoder Models: ALBERT, RoBERTa, DistilBERT, ConvBERT, XLM-RoBERTa, Electra, LongFormer
ALBERT언어 표현의 self-supervised learning을 위한 "경량화"된 BERTKnowledge Distillation 사용RoBERTaBERT를 최적화하기 위한 fine-tuning 접근이나 pre-training 접근을 적용한 모델BERT와 같은 거대한 모델을 학습시키기 위해 매우 작은 데이터셋을 사용할 수 있어서 유명함DistilBERTBERT와 유사하지만 BERT의 원래 가중치로 훈련된 작은 BERT증류된 BERTKnowledge Distillation: 큰 모델의 가중치를 작은 모델로 이동시키는 것ConvBERTSpan 기반 동적 컨볼루션을 통해 BERT를 개선BERT에 혼합 어텐션 설계를 적용하고 ConvBERT 모델을 구축XLM-RoBER..
BERT를 활용한 마스킹 단어 예측
import torch from transformers import BertTokenizer, BertForSequenceClassification # Load the pretrained BERT model and tokenizer model_name = 'bert-base-uncased' tokenizer = BertTokenizer.from_pretrained(model_name) model = BertForSequenceClassification.from_pretrained(model_name) # Set device (CPU or GPU) device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') # Text classificati..
Reformer: The Efficient Transformer (ICLR 2020)
주요 contribution: 일반적인 트랜스포머와 비교하여 시간 복잡도가 개선된다는 점 시간 복잡도를 O(L^2) 에서 O(L logL)로 감소시켜 입력 시퀀스의 길이인 L에 대해 효율적인 처리를 가능하게 함 매우 긴 일관된 텍스트를 생성하는 것 외에도 Reformer가 시계열 예측, 음악, 이미지 및 비디오 생성과 같은 다른 영역에 트랜스포머 모델의 강력한 성능을 가져올 수 있음
[git clone 에러] git clone received http code 403 from proxy after connect 에러 해결
git config --global http.proxy "" 입력한 후에 다시 해보기