CS 지식 (Computer Science Fundamentals)¶
LLM/VLM 엔지니어링에 필요한 컴퓨터 과학 기초 지식을 다룬다. 효율적인 모델 구현과 시스템 설계를 위해 필수적인 개념들.
왜 CS 지식이 필요한가¶
| 분야 | LLM/VLM 관련성 | 실무 예시 |
|---|---|---|
| 자료구조 | KV Cache 구현, 토큰 시퀀스 처리 | 힙으로 Top-k 샘플링, 트라이로 토크나이저 |
| 알고리즘 | Beam Search, 샘플링, 최적화 | 이진 탐색으로 온도 조절, DP로 시퀀스 정렬 |
| 운영체제 | GPU 메모리 관리, 병렬 처리 | 멀티프로세싱 DataLoader, CUDA 스트림 |
| 네트워크 | API 서빙, 분산 학습 | SSE 스트리밍, gRPC 통신, NCCL |
| 데이터베이스 | 벡터 DB, RAG 파이프라인 | pgvector 검색, Redis 캐싱 |
토픽 목록¶
자료구조 (Data Structures)¶
- 자료구조 완벽 가이드
- 배열, 연결 리스트, 스택, 큐
- 해시 테이블, 힙, 트리, 트라이, 그래프
- KV Cache, 토큰 버퍼 (LLM 특화)
- 핵심 개념
알고리즘 (Algorithms)¶
- 알고리즘 완벽 가이드
- 정렬 (퀵, 병합, 힙)
- 탐색 (이진 탐색, Beam Search, A*)
- 동적 프로그래밍 (편집 거리, LCS, 배낭)
- 그리디, 분할 정복
- LLM 샘플링 (Top-k, Top-p, 온도)
- 핵심 개념
운영체제 (Operating Systems)¶
- 운영체제 완벽 가이드
- 프로세스와 스레드 (Python GIL 포함)
- 메모리 관리 (가상 메모리, GPU 메모리)
- 동기화 (락, 데드락, 세마포어)
- CPU 스케줄링
- 분산 시스템 기초 (NCCL, All-Reduce)
- 핵심 개념
네트워크 (Networks)¶
- 네트워크 완벽 가이드
- OSI 7계층, TCP/IP
- TCP vs UDP, 3-way Handshake
- HTTP/HTTPS, HTTP/2, HTTP/3
- DNS 동작 원리
- LLM API 설계 (REST, SSE, WebSocket, gRPC)
- 분산 학습 네트워크
- 핵심 개념
데이터베이스 (Databases)¶
- 데이터베이스 완벽 가이드
- RDBMS (정규화, 인덱스, 트랜잭션, ACID)
- NoSQL (Redis, MongoDB)
- 벡터 DB (pgvector, Pinecone, ChromaDB)
- RAG 파이프라인 구축
- 핵심 개념
- 데이터베이스 비교 가이드
- DB 선택 기준
- PostgreSQL vs Oracle vs MySQL
- 실무 조합 패턴
학습 우선순위¶
LLM/VLM 실무 관점에서의 우선순위:
- 자료구조/알고리즘: 모델 구현과 최적화의 기반
- 데이터베이스: RAG, 벡터 검색 등 실무 필수
- 운영체제: GPU 활용, 분산 처리 이해
- 네트워크: API 설계, 서빙 인프라 구축
학습 체크리스트¶
자료구조¶
- [ ] 배열 vs 연결 리스트 트레이드오프
- [ ] 해시 충돌 해결 방법 (체이닝, 개방 주소법)
- [ ] 스택 2개로 큐 구현
- [ ] LRU 캐시 구현 (해시맵 + 이중 연결 리스트)
- [ ] 힙으로 Top-K 문제 풀기
알고리즘¶
- [ ] 퀵 정렬 vs 병합 정렬 특징
- [ ] 이진 탐색 구현 (경계 조건 주의)
- [ ] DP vs 그리디 차이
- [ ] 다익스트라 vs 벨만-포드
운영체제¶
- [ ] 프로세스 vs 스레드 차이
- [ ] 데드락 4가지 조건과 해결
- [ ] 가상 메모리와 페이지 폴트
- [ ] 컨텍스트 스위칭 비용
네트워크¶
- [ ] TCP vs UDP 차이
- [ ] 3-way Handshake 과정
- [ ] HTTP/1.1 vs HTTP/2 vs HTTP/3
- [ ] HTTPS 동작 원리
데이터베이스¶
- [ ] 인덱스가 빠른 이유 (B-Tree)
- [ ] ACID 설명
- [ ] 정규화 vs 비정규화
- [ ] SQL vs NoSQL 선택 기준
참고 자료¶
책¶
- Introduction to Algorithms (CLRS)
- Operating System Concepts (Silberschatz)
- Computer Networking: A Top-Down Approach (Kurose)
- Database System Concepts (Silberschatz)