분류 전체보기
-
Jaccard Jaccard 유사도는 두 개체간의 유사성을 계산한다. 예를 들어 두 텍스트 문서의 유사성을 계산하는데 활용할 수 있다. 계산 방식은 교집합을 합집합으로 나눈 것이다. def jaccard(x: str, y: str): # convert to sets x = set(x.split()) y = set(y.split()) # calculate intersection = x.intersection(y) union = x.union(y) return len(intersection)/len(union) 다음 두 문장의 Jaccard 유사도를 계산해본다고 하자. b와 c의 교집합은 위 하이라이트가 되어있는 단어 6개이다. 합집합은 21개의 단어이므로 6/21이 Jaccard Similarity가 될 ..
[Vector Similarity Search] 3 Traditional Methods for Similarity Search - Jaccard / w-shingling / LevenshteinJaccard Jaccard 유사도는 두 개체간의 유사성을 계산한다. 예를 들어 두 텍스트 문서의 유사성을 계산하는데 활용할 수 있다. 계산 방식은 교집합을 합집합으로 나눈 것이다. def jaccard(x: str, y: str): # convert to sets x = set(x.split()) y = set(y.split()) # calculate intersection = x.intersection(y) union = x.union(y) return len(intersection)/len(union) 다음 두 문장의 Jaccard 유사도를 계산해본다고 하자. b와 c의 교집합은 위 하이라이트가 되어있는 단어 6개이다. 합집합은 21개의 단어이므로 6/21이 Jaccard Similarity가 될 ..
2023.05.13 -
Commit Convention 일관적인 Commit Log를 통해 서로 다른 사람들이 작업한 내용을 쉽게 파악하고, 유지보수 할 수 있도록 하기 위해 Commit을 남기는 규칙 Header Commit Log의 제목을 나타내는 Header 부분 너무 길지만 않으면 됨 일반적으로 Tag가 붙고, Tag 뒤로 작업의 대략적인 내용이 붙음 Ex) [feat] add rest api code feat(새로운 기능) refactor(리팩토링) fix(버그 수정 및 typo) style(코드 포맷팅 또는 주석처리) comment(주석 추가 및 변경) chore(빌드 수정, 패키지 관리자 수정) test(테스트 코드) docs(문서 작업) remove(파일 삭제) rename(파일 혹은 폴더명을 수정하거나 옮기는 ..
Github 초기세팅Commit Convention 일관적인 Commit Log를 통해 서로 다른 사람들이 작업한 내용을 쉽게 파악하고, 유지보수 할 수 있도록 하기 위해 Commit을 남기는 규칙 Header Commit Log의 제목을 나타내는 Header 부분 너무 길지만 않으면 됨 일반적으로 Tag가 붙고, Tag 뒤로 작업의 대략적인 내용이 붙음 Ex) [feat] add rest api code feat(새로운 기능) refactor(리팩토링) fix(버그 수정 및 typo) style(코드 포맷팅 또는 주석처리) comment(주석 추가 및 변경) chore(빌드 수정, 패키지 관리자 수정) test(테스트 코드) docs(문서 작업) remove(파일 삭제) rename(파일 혹은 폴더명을 수정하거나 옮기는 ..
2023.05.11 -
LLM API를 Developer Tool로 활용할 수 있는 가능성은 무궁무진하다. DeepLearning.AI에서 ChatGPT Prompt Engineering Course를 듣고 정리하였다. 1. Introduction Two Types of Large Language Models Base LLM 학습 데이터를 기반으로 다음 단어를 예측 그렇기 떄문에 학습 데이터에 여러 질문을 나열한 글이 있다면 LLM은 다음과 같이 문장을 완성한다. input : "What is the capital of France?" output : "What is France's largest city?" Instruction Tuned LLM Base LLM에 추가 학습(RLHF)을 하여 유용한 답변을 할 수 있도록 함 ..
ChatGPT Prompt Engineering for DevelopersLLM API를 Developer Tool로 활용할 수 있는 가능성은 무궁무진하다. DeepLearning.AI에서 ChatGPT Prompt Engineering Course를 듣고 정리하였다. 1. Introduction Two Types of Large Language Models Base LLM 학습 데이터를 기반으로 다음 단어를 예측 그렇기 떄문에 학습 데이터에 여러 질문을 나열한 글이 있다면 LLM은 다음과 같이 문장을 완성한다. input : "What is the capital of France?" output : "What is France's largest city?" Instruction Tuned LLM Base LLM에 추가 학습(RLHF)을 하여 유용한 답변을 할 수 있도록 함 ..
2023.05.01 -
부스트코스의 모델 경량화 강의를 듣고 정리하였습니다. 1. 모델 경량화 관점에서의 AutoML 1.1 Conventional Deep Learning Training Pipeline 일반적으로 "데이터 엔지니어링"은 데이터 클린징, 전처리, 피쳐 엔지니어링, ML 알고리즘 선택, 하이퍼파라미터 설정이라는 일련의 과정을 의미한다. 딥러닝에서는 ML 알고리즘 선택은 백본 모델을 선택하는 과정, 하이퍼파라미터 설정에는 Loss, Optimizer 등을 조정하는 과정이다. 모델을 학습하고 하이퍼 파라미터를 선정하는 과정은, 주어진 Task와 데이터셋이 있다면 성능이 잘 나올 것 같은 Model Architecture를 선정하고 하이퍼파라미터를 선택한다. 그 다음 성능이 얼마나 잘 나오는지 Train & Eval..
[모델 경량화] 작은 모델, 좋은 파라미터 찾기 - AutoML부스트코스의 모델 경량화 강의를 듣고 정리하였습니다. 1. 모델 경량화 관점에서의 AutoML 1.1 Conventional Deep Learning Training Pipeline 일반적으로 "데이터 엔지니어링"은 데이터 클린징, 전처리, 피쳐 엔지니어링, ML 알고리즘 선택, 하이퍼파라미터 설정이라는 일련의 과정을 의미한다. 딥러닝에서는 ML 알고리즘 선택은 백본 모델을 선택하는 과정, 하이퍼파라미터 설정에는 Loss, Optimizer 등을 조정하는 과정이다. 모델을 학습하고 하이퍼 파라미터를 선정하는 과정은, 주어진 Task와 데이터셋이 있다면 성능이 잘 나올 것 같은 Model Architecture를 선정하고 하이퍼파라미터를 선택한다. 그 다음 성능이 얼마나 잘 나오는지 Train & Eval..
2023.04.24 -
부스트코스의 모델 경량화 강의를 듣고 정리하였습니다. 1. 경량화의 목적 1.1 On device AI 개발된 모델이 휴대폰이나 스마트 워치 등 IoT 기기들에서 돌아가게 된다면 여러 제약사항들이 존재한다. 경량화를 통해 아래와 같은 한계점들을 해소할 수 있다. Power Usage (Battery) RAM Memory Usage Storage Computing Power 1.2 AI on Cloud(Server) 배터리, 저장공간, 연산능력의 제약은 줄어드나, latency(한 요청의 소요 시간)와 throughput(단위 시간 당 처리 가능한 요청 수)의 제약이 존재한다. 경량화를 통해 같은 자원으로 적은 latency와 많은 throughput이 가능하다. 1.3 Computation as a ke..
[모델 경량화] 경량화란부스트코스의 모델 경량화 강의를 듣고 정리하였습니다. 1. 경량화의 목적 1.1 On device AI 개발된 모델이 휴대폰이나 스마트 워치 등 IoT 기기들에서 돌아가게 된다면 여러 제약사항들이 존재한다. 경량화를 통해 아래와 같은 한계점들을 해소할 수 있다. Power Usage (Battery) RAM Memory Usage Storage Computing Power 1.2 AI on Cloud(Server) 배터리, 저장공간, 연산능력의 제약은 줄어드나, latency(한 요청의 소요 시간)와 throughput(단위 시간 당 처리 가능한 요청 수)의 제약이 존재한다. 경량화를 통해 같은 자원으로 적은 latency와 많은 throughput이 가능하다. 1.3 Computation as a ke..
2023.04.20 -
Langcon 2023 문상환님의 "한국어 토크나이징의 현재와 미래"를 듣고 정리한 내용입니다. 1. 토크나이징의 정의 및 한국어 적용 1.1 토크나이징 토크나이징이란 문자열을 특정 규칙에 의해 "토큰"으로 분절하는 여러 기법Subword 이전 한국어의 표준 분절은 형태소 기반 분절이었다. ex) KoNLPy토크나이징은 Transfer Learning에 있어 성능을 좌우하는 중요한 요소이다. 1.2 토큰 단위와 장단점 한국어의 경우 토큰은 어절 / 형태소 / 서브워드 / 음절로 분절하여 사용 가능하다. 토큰은 Representation Robustness, 토큰의 길이, OOV에 대한 Robustness 측면에서 균형이 필요하다. Representation Robustness : Embedding에 얼마..
[Langcon_2021] 한국어 토크나이징의 현재와 미래Langcon 2023 문상환님의 "한국어 토크나이징의 현재와 미래"를 듣고 정리한 내용입니다. 1. 토크나이징의 정의 및 한국어 적용 1.1 토크나이징 토크나이징이란 문자열을 특정 규칙에 의해 "토큰"으로 분절하는 여러 기법Subword 이전 한국어의 표준 분절은 형태소 기반 분절이었다. ex) KoNLPy토크나이징은 Transfer Learning에 있어 성능을 좌우하는 중요한 요소이다. 1.2 토큰 단위와 장단점 한국어의 경우 토큰은 어절 / 형태소 / 서브워드 / 음절로 분절하여 사용 가능하다. 토큰은 Representation Robustness, 토큰의 길이, OOV에 대한 Robustness 측면에서 균형이 필요하다. Representation Robustness : Embedding에 얼마..
2023.04.17 -
Langcon 2023 박장원님의 "특정 도메인에 맞는 언어 모델은 어떻게 만들까"를 듣고 정리한 내용입니다. 도메인 특화 언어모델 (Domain-Specific Language Model) Domain-Specific Language Model BioBERT, SciBERT, LegalBERT ... General Domain LM 뉴스, 위키, 책, 웹 크롤링 데이터로 학습 언어모델 Pretraining 학습 방법 Pretraining From Scratch 처음부터 특수 도메인 데이터로 학습 Continual Pretraining 처음부터 학습하기에는 비용이 많이 들기 때문에 BERT같은 기존에 학습된 언어모델을 가지고 학습 도메인 특화 언어모델을 만들 때 고려해야할 점 1. Data ▮ 지금 학습..
[Langcon_2023] 특정 도메인에 맞는 언어 모델은 어떻게 만들까Langcon 2023 박장원님의 "특정 도메인에 맞는 언어 모델은 어떻게 만들까"를 듣고 정리한 내용입니다. 도메인 특화 언어모델 (Domain-Specific Language Model) Domain-Specific Language Model BioBERT, SciBERT, LegalBERT ... General Domain LM 뉴스, 위키, 책, 웹 크롤링 데이터로 학습 언어모델 Pretraining 학습 방법 Pretraining From Scratch 처음부터 특수 도메인 데이터로 학습 Continual Pretraining 처음부터 학습하기에는 비용이 많이 들기 때문에 BERT같은 기존에 학습된 언어모델을 가지고 학습 도메인 특화 언어모델을 만들 때 고려해야할 점 1. Data ▮ 지금 학습..
2023.04.17 -
Vision Transformer 논문에 inductive bias라는 단어가 등장한다. Transformers lack some of the inductive biases inherent to CNNs, such as translation equivariance and locality, and therefore do not generalize well when trianed on insufficient amounts of data. Transformer에는 CNN에 고유한 inductive bias가 부족하므로 충분하지 않은 양의 데이터로 학습할 때 일반화가 어렵다고 말한다. Inductive bias을 무엇이라고 이해하면 될까? Bias Bias하면 Bias와 Variance의 trade-off 관계..
Inductive BiasVision Transformer 논문에 inductive bias라는 단어가 등장한다. Transformers lack some of the inductive biases inherent to CNNs, such as translation equivariance and locality, and therefore do not generalize well when trianed on insufficient amounts of data. Transformer에는 CNN에 고유한 inductive bias가 부족하므로 충분하지 않은 양의 데이터로 학습할 때 일반화가 어렵다고 말한다. Inductive bias을 무엇이라고 이해하면 될까? Bias Bias하면 Bias와 Variance의 trade-off 관계..
2023.04.07