전체 글 (202) 썸네일형 리스트형 [Python] Lv. 0 (2) 1. 다항식 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/120863■ 양의 정수, 공백, 'x', '+'로 이루어진 다항식이 문자열로 들어오면, 다항식 계산 결과를 반환하는 문제이다. ■ 예를 들어 "3x + 7 + x"가 들어오면, "4x + 7"을 return하면 된다. ■ 연산은 '+' 하나이므로, ' + '를 기준으로 항들을 분리시키면 변수 x의 항과 상수항으로 구분할 수 있다. ■ 이때 항이 'x'이면, '1 x'이므로 변수 x의 계수에 +1을, '3x'이면 변수 x의 계수에 +3을 하면 된다. 예를 들어 문자열 '42x'라면 문자 'x'앞에 오는 숫자들만 더해주면 된다. ■ 상수는 단순히 int로 변환한 다음 더해주면 된다... [Python] Lv. 0 (1) 1. 옹알이 (1)https://school.programmers.co.kr/learn/courses/30/lessons/120956?language=python3■ 문제는 'aya', 'ye', 'woo', 'ma' 네 가지 옹알이 문자열을 각각 최대 한 번씩 사용하여 이어 붙였을 때 만들 수 있는 문자열의 개수를 찾는 것이다. ■ 예를 들어, 입력 babbling = ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"]에 대해 살펴보면, - (1) "ayaye" = "aya" + "ye" (O)- (2) "uuuma" (X)- (3) "ye" (O)- (4) "yemawoo" = "ye" + "ma" + "woo" (O)- (5) "ayaa" = "aya" + "a" (X.. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks ■ 대규모 PLM(Pre-trained Language Model)은 파라미터 내에 knowledge를 저장한 상태에서, 다운스트림 NLP 태스크에 맞게 파인튜닝될 때 SOTA 결과를 달성하고 있으며, 이는 최근 NLP 연구에서 두드러지는 추세이다. ■ 그러나 파라미터에 저장된 knowledge에 접근하고 정밀하게 사용하는 방법은 여전히 제한적이라서, knowledge-intensive 태스크(예: question-answering task)에서는 특정 태스크에 특화된 아키텍처에 비해 그 성능이 뒤처진다. ■ 또한, 결정에 대한 출처를 제공하고, world knowledge를 업데이트하는 것은 여전히 미해결 문제로 남아있다. - 모델이 왜 그런 답변을 생성했는지 근거를 제시하기 어렵다. 이러한 문제의 대.. Dense Passage Retrieval for Open-Domain Question Answering ■ Open-domain question answering은 candidate contexts를 선택하기 위해 passage retrieval에 의존하며, 검색을 위해 TF-IDF나 BM25와 같은 전통적인 희소 벡터 공간 모델을 사용한다. ■ 이 논문에서는 간단한 듀얼-인코더(dual-encoder) 프레임워크를 통해 소수의 question과 passage로부터 임베딩이 학습되는, 밀집 표현(dense representations)만으로도 검색이 구현될 수 있음을 보여준다. [2004.04906] Dense Passage Retrieval for Open-Domain Question Answering Dense Passage Retrieval for Open-Domain Question Answeri.. REALM:Retrieval-Augmented Language Model Pre-Training ■ LM은 pre-training을 통해 corpus에 있는 knowledge를 모델의 parameter에 implicit한 방식으로 저장한다. ■ 이러한 LM의 한계는 모델 크기가 정해져 있기 때문에 world knowledge를 모두 수용하기 어렵다는 점과 knowledge이 어디에 저장되는지 명확히 알 수 없다는 점, 그리고 새로운 knowledge를 업데이트하려면 모델 전체를 학습해야 한다는 점이 있다.■ 이런 문제의 해결책은 knowledge Retriever를 사용하는 것이다. 이는 모델이 pre-training, fine-tuning, 그리고 inference 과정에서 위키피디아와 같은 대규모 corpus로부터 document를 검색하고 참고할 수 있게 하는 것이다. ■ Retrieve.. Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks ■ BERT와 RoBERTa는 semantic textual similarity (STS)와 같은 sentence-pair regression tasks에서 SOTA의 성능을 달성했다. 그러나 이 방식은 두 문장을 모두 네트워크에 입력해야 하므로 막대한 computational overhead를 유발한다 - 예를 들어, 10,000개의 문장 모음에서 가장 유사한 쌍을 찾기 위해 BERT로는 약 5천만 번의 계산(약 65시간 소요)이 필요하다. - BERT의 이러한 구조(cross-encoder 구조)는 semantic similarity search이나 clustering같은 unsupervised tasks에 사용하기에 부적합하다. ■ 논문에서는 사전학습된 BERT를 수정하여, siamese ne.. FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning ■ FlashAttention은 비대칭적인 GPU 메모리 계층 구조를 활용하여 근사 알고리즘 없이도 상당한 메모리 절약과 실행 시간 단축을 달성했지만, GPU를 최대한 활용하지 못한다는 비효율이 있었다. (이론적 최대 FLOPs/s의 25-40%에만 도달)■ 비효율의 원인은 GPU의 여러 스레드 블록과 워프(warp) 사이의 비효율적인 work partitioning에 있었다. ■ 이 논문은 이러한 문제들을 해결하기 위해 더 나은 work partitioning을 가진 FlashAttention-2를 제안한다. - (1) 비-행렬곱(non-matmul) FLOPs의 수를 줄이도록 알고리즘을 개선하고 - (2) 점유율을 높이기 위해 단일 헤드의 어텐션 계산도 여러 스레드 블록에 걸쳐 병렬화하며 - (3.. phi-1: Textbooks Are All You Need ■ 해당 논문에서는 code를 위한 새로운 LLM인 phi-1을 소개한다. ■ phi-1은 1.3B 트랜스포머 기반 모델로, web에서 선별한 '교과서 품질(textbook quality)'의 데이터(6B tokens)와 GPT-3.5로 생성된 교과서 및 연습문제(10B tokens)를 사용하여 8대의 A100 GPU에서 4일 동안 훈련되었다. ■ 1.3B라는 작은 크기에도 불구하고, phi-1은 HumanEval에서 50.6%, MBPP에서 55.5%의 pass@1 정확도를 달성하였다.■ 1.3B인 sLLM phi-1 모델은 여러 code에서 학습 데이터로 사용할 code를 선택하는 데 GPT-3.5를 사용했다는 점에서, 학습 데이터셋 구축에 지식 증류(knowledge distillation)를 이용.. 이전 1 2 3 4 ··· 26 다음