Community

항해 플러스 AI 참여 후기

1. 1~8주차 학습 내용 요약 1주차: 딥러닝 기초 * Linear regression: 무수히 많은 node 사이를 지나는 최적화된 선을 찾는 과정 * Multi-layer Perceptron (MLP): 선형 회귀 모델을 여러 개 쌓고 비선형성 처리 ( ReLU ) * Back Propagation: Computation graph 기준으로 각 노드별 연산을 미분해서 곱하는... 수학적으론 오케이인데 의미적으론 잘 안 와닿았음 * Deep Learning techniques: DropOut (무작위로 노드 폐기), Layer Normalization , Adam Optimizer * 과제: MNIST 손글씨 숫자 예측 모델 구현 솔직히 처음엔 뭔 소리인지 몰랐다. 특히 Back Propagation은 수학적으로는 이해했는데 왜 그렇게 하는지는 잘... 2주차: 자연어 처리 기초 * NLP의 특성: 가변적 길이, 모호한 최소 단위, 무의미한 정보 * Tokenizer & Vocabulary: 텍스트를 자르는 방법 정의, 각 토큰을 숫자로 맵핑 * RNN: Hidden state로 토큰 순서 기억, 하나의 neural network로 가변 길이 처리 * Attention: 인코더-디코더 구조, 솔직히 자세히 이해 못했음 * Transformer: Positional encoding(중요한 개념 같은데 모르겠음), Self Attention 2주차 때 "배경지식이 부족하다"고 써놨는데, 정말 그랬다. Transformer가 갑자기 등장해서 당황스러웠음. 3주차: 전환점 * Transfer Learning: Pre-trained Model + Fine-tuning으로 데이터 부족 문제 해결 * BERT: MLM(Masked Language Model), NSP(Next Sentence Prediction)으로 pre-training * DistillBERT: Knowledge distillation으로 더 작고 빠르게 * GPT: Next token prediction, 마지막 토큰만 masking해서 효율적 * Few-shot learning: 예시들을 먼저 보여주고 문제 풀게 하기 여기서부터 "아, 이런 식으로 쓰는 거구나" 감이 왔다. 실무 활용 가능성이 보이기 시작. 4주차: 실무 활용 시작 * HuggingFace: Transformer variants, Data Hub, Trainer로 편하게 모델 사용 * Zero-shot Classification: 학습 없이 logit으로 분류 문제 해결 * Few-shot Classification: 예제 몇 개 주면 성능 향상 * Prompting 기법들: * CoT(Chain-of-thoughts): 중간 과정 보여주기 * PAL: 코드로 수학 문제 풀기 * RAG: 인터넷 자료 찾아서 답변 HuggingFace 는 신이다. 5주차: 고급 기법들 * Instruction Tuning: * SFT(Supervised Fine-Tuning): 질문-답변 쌍으로 학습, instruction만 아니라 답변 부분만 학습 * Instruction-tuning data 생성: Human generated, GPT generated, 기존 dataset 변형 * MLLM (Multi-modal LLM): * ViT(Vision Transformer): 이미지를 patch 단위로 나눠서 token sequence로 변환 * VLM: ViT + LLM, 이미지+텍스트 함께 이해 * RAG: Knowledge source 활용해서 hallucination 줄이기 6주차: 개발 도구들 * LangChain: * LLM abstraction: 여러 LLM interface 쉽게 대응 * Prompt template: 자동으로 메시지 수정 * Indexes: 외부 data source 사용 쉽게 * LangGraph: * 상태 기반 그래프 구조로 복잡한 워크플로우 * LangChain 생태계의 상태 전달 문제 보완 * Streamlit: Python으로 웹 앱 만들기, 챗봇 위젯 제공 7주차: 고급 Fine-tuning * LLM Pre-training vs Instruction-tuning: * Pre-training: Next token prediction으로 일반적 텍스트 이해력 * Instruction-tuning: 질문-답변으로 사용자 요청 대응 능력 * Preference data: 두 답변 중 더 선호되는 것 labeling * RLHF: Reward model 학습 → 강화학습으로 LLM align * DPO: Reward model 없이도 preference data로 직접 학습 (수학적 테크닉... 뭔말인지 모르겠음) 8주차: 경량화 & 최적화 * Data Parallelism: GPU 여러 개로 batch size 늘리기 * Quantization: * Float16, BFloat16으로 precision 줄이기 * AMP(Automatic Mixed Precision): 32-bit와 half-precision 섞어 쓰기 * PEFT (Parameter-Efficient Fine-Tuning): * LoRA: 전체 parameter 업데이트 대신 low-rank matrix로 효율적 학습 * Flash Attention: GPU SRAM 활용해서 attention 계산 최적화 경량화 기법들 배웠는데 당장 쓸 일은 없을 것 같지만 나중에 비용 문제가 생기면 써먹을 수 있겠다. 2. 전체 과정에서 느낀 변화 이해도 변화 * 1-2주차: ? * 3주차: 이런거 할 수 있나? * 4주차: 당장 써먹을 수 있을지도? * 5-6주차: 오... 데이터가 더 필요해... * 7-8주차: 오... 데이터가 더 필요해... 실제로 써먹을 수 있게 된 것들 * Few-shot prompting 기법 (3-4주차) * HuggingFace로 모델 불러다 쓰기 (4주차) * RAG 구조 이해 (5주차) * LangChain으로 프롬프트 관리하기 (6주차) 아직 잘 모르는 것들 * Transformer 내부 구조의 수학적 계산 * Fine-tuning 실제 구현 (데이터 수집부터 평가까지) * 대용량 데이터 처리 방법 * 모델 성능 평가 방법론 3. 회사 업무 적용 가능성 * 간단한 RAG * 사내 데이터로 fine-tuning * 복잡한 워크플로우 자동화 (LangGraph) * 멀티모달 문서 처리 3. 느낀점 8주 동안 정말 많은 걸 배웠다. 이제는 꽤나 많은 개념을 이해할 수 있게 되었다. 가장 좋았던 점: * 실제로 써먹을 수 있는 내용들이었다. 4주차 HuggingFace부터는 바로 써볼 수 있겠다는 생각이 들었다. 어려웠던 점: * 속도가 빠르다. 매주 새로운 개념들이 쏟아져서 따라가기 힘들었다. * 수학적 기초 부족. Attention 계산이나 Back propagation 같은 부분은 아직도 완전히 이해하진 못했다. * 실무 갭. 배운 내용을 실제 업무에 적용하려면 추가로 배워야 할 게 많다. 2주차에 썼던 "배경지식이 부족하다"는 고민이 8주 지나니까 많이 해결됐다. 물론 아직도 부족하지만, 적어도 "뭘 모르는지는 안다"는 상태가 됐다. 4. 마치며 아직 실무에 적용하려면 갈 길이 멀다. 그래도 시작했다에 의의를 가지고 정진하려고 한다.

알림

알림이 없습니다