전체 글 41

데이터 분석 (1) 탐색적 데이터분석(EDA) 체크리스트

새 데이터를 받으면 바로 분석이나 모델링으로 들어가고 싶어지지만, 그 전에 데이터가 어떻게 생겼는지부터 봐야 한다. 이번 글은 그 확인 과정, EDA(exploratory data analysis)를 체크리스트로 정리한다. 1. EDA가 왜 필요한가 : 데이터를 안 보고 분석, 모델링부터 시작하면 이상치, 결측치, 잘못된 자료형을 나중에야 발견함 : 늦게 발견할수록 되돌리는 비용이 커짐(전처리 다시, 모델 재학습 등) : EDA는 본격적으로 분석하기 전에 데이터가 믿을 수 있는 상태인지 확인하는 단계임 2. 구조부터 본다 : 행, 열 개수와 각 컬럼의 자료형(수치형, 범주형, 날짜) : 컬럼명과 실제 값이 의미상 맞는지 (예: "나이" 컬럼에 음수나 200 같은 값) : 요약 통계로 넘어가기 전에..

LLM 기초 (6) 임베딩과 벡터 유사도(cosine) 심화

지난 글은 모델이 지식을 익히는 세 가지 방식이었다. 이번엔 한발 물러나서, 텍스트가 벡터가 되는 과정과 그 벡터들 사이의 "가까움"을 재는 방법을 정리한다. 1. 임베딩이 뭔가 : 텍스트(토큰, 문장, 문서)를 실수 값 여러 개로 이루어진 벡터로 바꾸는 것 : 글자 그대로는 계산할 수 없어서, 모델이 다룰 수 있는 숫자 배열로 옮기는 과정 : 차원 수는 보통 768, 1536처럼 수백~수천 (차원 하나하나에 뜻을 딱 붙일 순 없지만, 전체 배열이 의미를 담고 있음) 2. 비슷한 뜻은 가까운 자리에 놓인다 : 임베딩 공간에서 뜻이 비슷한 단어나 문장은 서로 가까운 위치에 모임 : "강아지"와 "고양이"는 "자동차"보다 서로 더 가까움 : 이 배치는 사람이 정한 게 아니라, 비슷한 문맥에 등장한 단어끼..

AI/Basic 10:50:27

LLM 기초 (5) 사전학습 vs 파인튜닝 vs 인컨텍스트 러닝

지난 글은 토크나이저였다.이번엔 모델이 새로운 지식이나 태스크를 "익히는" 세 가지 방식, 사전학습, 파인튜닝, 인컨텍스트 러닝을 정리한다. 1. 왜 세 가지나 구분하나 : 셋 다 목적은 "모델이 원하는 걸 더 잘하게 만들기"로 같음 : 다른 건 무엇을 바꾸느냐 - 가중치를 통째로 바꾸는지, 일부만 바꾸는지, 아예 안 바꾸는지 : 이 차이가 곧 데이터양, 비용, 지속 기간을 결정함 2. 사전학습: 바탕을 만드는 단계 : 웹, 책, 코드 등 방대한 코퍼스(컴퓨터가 학습에 쓸 수 있게 모아놓은 대량의 텍스트 데이터 묶음)를 놓고 다음 토큰 예측을 반복 : 이 반복 속에서 파라미터 수십억~수천억 개가 처음부터 전부 학습됨 : 결과로 나오는 게 "베이스 모델" - 특정 태스크에 맞춰진 게 아니라 문법, 상..

AI/Basic 2026.09.16

LLM 기초 (4) 토크나이저 심화 - BPE가 조각을 정하는 법, 한국어 토큰 문제

지난 글에서 트랜스포머의 큰 그림을 그렸다.이번엔 한발 물러나 모델이 애초에 문장을 어떻게 토큰으로 쪼개는지, BPE(byte pair encoding)부터 짚어본다.1. 토크나이저가 왜 필요한가 : 모델은 텍스트를 그대로 못 읽고, 숫자(토큰 id) 시퀀스로 바꿔야 함 : 가장 단순한 방법은 문자 단위나 단어 단위로 쪼개는 것이지만 둘 다 문제가 있음 : 문자 단위는 시퀀스가 너무 길어지고: 단어 단위는 vocab이 한없이 커지면서 처음 보는 단어(OOV)를 못 다룸 : BPE는 그 중간, "자주 붙어다니는 조각을 통째로 하나의 토큰으로 묶는" 절충안임 2. BPE가 조각을 정하는 법 : 출발은 글자(또는 바이트) 단위로 전부 쪼갠 상태 : 말뭉치에서 가장 자주 붙어 나오는 두 조각을 찾아 하나로 병합..

AI/Basic 2026.09.15

LLM 기초 (3) 트랜스포머 구조 한 장 정리 - encoder/decoder, 왜 RNN을 대체했나

지난 두 편에서 다음 토큰 예측과 어텐션을 다뤘다.이번엔 그 어텐션 블록이 쌓여 만드는 전체 구조, 트랜스포머 차례다.1. 왜 RNN을 대체했나: RNN은 토큰을 한 개씩 순서대로 처리함: 그래서 병렬화가 안 되고, 문장이 길어지면 앞쪽 정보가 여러 단계를 거치며 옅어짐(장기 의존성 문제) : 반면 self-attention은 모든 토큰이 동시에 서로를 참고함. 거리가 멀어도 한 번에 직접 연결됨 : 그 결과 학습이 훨씬 빠르고, 긴 문장에서도 앞뒤 관계를 놓치지 않음 2. 전체 구조 - encoder와 decoder 트랜스포머는 크게 encoder 스택과 decoder 스택 두 덩어리로 나뉨: encoder - 입력 문장 전체를 한 번에 읽고, multi-head self-attention과 feed-..

AI/Basic 2026.09.14

LLM 기초 (2) Attention 직관 - QKV가 무엇을 "참고"하는가

지난 글 끝에 "문맥에 따라 단어 표현이 바뀐다"고 적었다. 그걸 만드는 장치가 Attention이다. 1. 왜 Attention(어텐션)이 필요한가: 임베딩만 놓고 보면 '말'은 늘 같은 벡터 ("말을 타다"의 말이나 "말을 하다"의 말이나 똑같음): 그런데 뜻은 옆 단어가 정함 ('타다'가 붙으면 동물, '하다'가 붙으면 언어): 그래서 각 토큰이 "같은 문장의 다른 토큰을 얼마나 볼지" 정하고, 그만큼 정보를 섞어 자기 표현을 갱신함 → 이게 attention 2. Q, K, V — 검색에 빗대기 attention이 하는 일은 도서관에서 자료 찾기와 닮았다. 1) query (q) : 지금 내가 찾는 것. "어떤 정보가 필요한가"를 담은 벡터2) key (k) : 각 토큰이 내건 꼬리표. "나는..

AI/Basic 2026.09.10

LLM 기초 (1) 다음 토큰 예측

LLM 을 처음부터 정리해 보기로 했다. 첫 글은 언어 모델이 실제로 하는 일 한 가지. 1. LLM 이 학습하는 목표: 앞 단어들이 주어졌을 때 다음에 올 단어(토큰)를 맞히는 것, 이게 전부다 : 맞힌 걸 뒤에 붙이고 또 다음을 맞힘 → 이 반복으로 문장이 완성됨 (autoregressive) 학습도 같다. 원문의 다음 단어가 곧 정답이라 사람이 라벨을 달 필요가 없음 → 인터넷 규모로 학습 가능한 이유. 2. 토큰 (token)모델은 단어를 그대로 안 보고, 자주 붙어 다니는 문자 덩어리인 토큰 으로 쪼갠다. 한국어는 조사 또는 어미로 형태가 계속 바뀌고 학습 데이터에도 덜 등장해 토큰을 많이 먹는다. 토큰이 많으면 api 비용 ↑, 컨텍스트 창 소모 ↑, 속도 ↓. (실제 조각은 토크나이저마..

AI/Basic 2026.09.09

정규표현식

메타 문자 – 특별한 의미를 가진 문자.문자 설명[] 문자 집합 “[a-m]”\ 특정 문자열을 알림 (특정 문자를 제외할 때도 사용됨) “\d”. 어떠한 문자(새로운 줄 문자는 제외) “he..o”^ 문자열의 시작 “^hello”* 0개 이상 발생 “aix*”+ 1개 이상 발생 “aix+”{} 지정된 수만큼 발생 “al{2}”| 혹은 “falls|stays”() 그룹$ 문자열의 끝 “world$” 아래의 리스트에 있는 ‘\’ 와 문자 하나는 특별한 문자열로 특별한 의미를 가집니다:문자 설명\A 지정된 문자들이 문자열의 처음에 오는 것을 반환합니다.“\AThe”\b 단어의 처음이나 끝에 지정된 문자들이 오는 것을 반환합니다.r”\bain”r”a..

Python/Basic 2024.07.09

Sub-center ArcFace: Boosting Face Recognitionby Large-scale Noisy Web Faces

paperswithcode : https://paperswithcode.com/paper/sub-center-arcface-boosting-face-recognition Papers with Code - Sub-center ArcFace: Boosting Face Recognition by Large-scale Noisy Web FacesImplemented in 2 code libraries.paperswithcode.com 오늘은 이전 ArcFace 에서 잠깐 나왔던 내용인 sub-center ArcFace 에 대한 논문을 읽어 보았다ArcFace 에 대하여 잘 모른다면https://lululalams.tistory.com/10 ArcFace: Additive Angular Margin Loss fo..

Paper/Vision 2024.06.06

ViTPose: Simple Vision Transformer Baselines forHuman Pose Estimation

paperswithcode : https://paperswithcode.com/paper/vitpose-simple-vision-transformer-baselines Papers with Code - ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation🏆 SOTA for Pose Estimation on COCO test-dev (AP metric)paperswithcode.com 오늘은 ViTPose 라는 pose estimation 논문에 대해 읽어 보았다이전에 코드를 사용한 적은 있는데, 논문을 제대로 읽어보지 못했기 때문에 이번 기회에 다시 한번 읽어 보았다  Abstract vision transformer 가 pose..

Paper/Vision 2024.05.31