# 핵심 용어집 (Glossary) AI Lecture 시리즈 전반에 걸쳐 사용되는 주요 기술 용어들을 가나다 순으로 정리했습니다. --- ### ㄱ - **검색 증강 생성 (Retrieval-Augmented Generation, RAG)** - **정의**: 대규모 언어 모델(LLM)이 답변을 생성하기 전에, 먼저 외부 지식 소스(예: 데이터베이스, 문서)에서 관련된 정보를 검색하고, 이 정보를 참고하여 답변을 생성하는 방법론. LLM의 환각(Hallucination) 현상을 줄이고, 최신 정보나 특정 도메인의 지식을 기반으로 정확하고 신뢰도 높은 답변을 생성하도록 돕습니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) - **과적합 (Overfitting)** - **정의**: 머신러닝 모델이 훈련 데이터에만 지나치게 최적화되어, 새로운 데이터(테스트 데이터)에 대해서는 예측 성능이 떨어지는 현상. 훈련 데이터의 사소한 노이즈까지 모두 외워버려 일반화 성능을 잃는 것을 의미합니다. - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md), [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **군집화 (Clustering)** - **정의**: 비지도 학습의 한 종류로, 정답(레이블)이 없는 데이터 내에서 비슷한 특성을 가진 샘플끼리 그룹으로 묶는 작업입니다. 데이터의 숨겨진 구조를 파악하거나 고객을 유형별로 분류하는 데 사용됩니다. - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) ### ㄴ - **NumPy (넘파이)** - **정의**: Numerical Python의 약자로, 파이썬에서 고성능 과학 계산과 수치 연산을 위한 핵심 라이브러리. `ndarray`라는 효율적인 다차원 배열 객체를 제공하여, 벡터 및 행렬 연산을 매우 빠르게 처리할 수 있습니다. Pandas, Scikit-learn, PyTorch 등 대부분의 AI 라이브러리의 기반이 되는 기술입니다. - **비유**: '계란판'. 모든 데이터를 동일한 타입의 숫자(계란)로 취급하여, '모든 계란에 도장 찍기'와 같은 동일한 연산을 매우 빠른 속도로 처리할 수 있습니다. - **관련 파트**: [Part 5: AI 핵심 라이브러리](./part_5_ai_core_libraries.md) ### ㄷ - **대규모 언어 모델 (Large Language Model, LLM)** - **정의**: 수십억 개 이상의 파라미터와 방대한 텍스트 데이터를 기반으로 사전 훈련된 거대한 인공 신경망 모델. 번역, 요약, 질의응답, 코드 생성 등 다양한 자연어 처리 작업에서 뛰어난 성능을 보이며, 파운데이션 모델의 대표적인 예시입니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) - **데이터 전처리 (Data Preprocessing)** - **정의**: "Garbage In, Garbage Out" 원칙에 따라, 머신러닝 모델의 성능을 높이기 위해 원시 데이터(raw data)를 학습에 적합한 형태로 가공하는 모든 작업. 결측치 처리, 이상치 탐지, 특성 스케일링, 범주형 데이터 인코딩 등이 포함됩니다. - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) - **도커 (Docker)** - **정의**: 애플리케이션과 그 실행에 필요한 모든 것(라이브러리, 시스템 도구, 코드, 런타임 등)을 '컨테이너'라는 격리된 공간에 패키징하여, 어떤 환경에서든 동일하게 실행될 수 있도록 하는 플랫폼. "제 컴퓨터에서는 되는데요?" 문제를 해결하는 핵심 기술입니다. - **비유**: '어디서든 똑같은 맛을 내는 밀키트'. 애플리케이션의 모든 재료와 레시피를 밀키트(이미지)로 만들어, 어떤 주방(서버)에서 조리하든 항상 동일한 결과물을 보장합니다. - **관련 파트**: [Part 1: AI 개발 환경 완벽 구축 가이드](./part_1_ai_development_environment.md), [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) - **도커 컴포즈 (Docker Compose)** - **정의**: 여러 개의 도커 컨테이너를 하나의 `yml` 파일로 정의하고, 명령어 하나로 실행하고 관리할 수 있게 해주는 도구. API 서버, 데이터베이스, 웹서버 등 여러 서비스가 함께 동작하는 복잡한 애플리케이션을 손쉽게 오케스트레이션할 수 있습니다. - **관련 파트**: [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) - **도커파일 (Dockerfile)** - **정의**: 도커 이미지를 만들기 위한 '설계도' 또는 '레시피'. 기반이 될 OS 이미지, 설치할 라이브러리, 복사할 소스 코드, 실행할 명령어 등 컨테이너가 어떻게 구성되어야 하는지에 대한 지침을 텍스트 파일에 순서대로 기록합니다. `docker build` 명령어를 통해 이 파일을 읽어 이미지를 생성합니다. - **관련 파트**: [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) ### ㄹ - **LangChain (랭체인)** - **정의**: 대규모 언어 모델(LLM)을 활용한 애플리케이션 개발을 위한 오픈소스 프레임워크. LLM을 외부 데이터 소스, API 등과 쉽게 연결(Chaining)하여 복잡한 작업을 수행하는 파이프라인을 구축할 수 있도록 돕는 다양한 도구와 컴포넌트를 제공합니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) - **LangChain Expression Language (LCEL)** - **정의**: LangChain의 각 컴포넌트(프롬프트, 모델, 출력 파서 등)를 `|`(파이프) 기호로 마치 리눅스 셸 명령어처럼 자연스럽게 연결할 수 있게 해주는 선언적 방식의 구문. 복잡한 체인을 더 직관적이고 가독성 높게 구성할 수 있게 하며, 스트리밍, 병렬 처리 등을 쉽게 구현할 수 있도록 돕습니다. - **관련 파트**: [Part 10: 전문가로 가는 길](./part_10_expert_path.md) ### ㅁ - **머신러닝 학습 3대 유형** - **정의**: 머신러닝은 학습 방식에 따라 크게 지도, 비지도, 강화 학습의 세 가지 유형으로 나뉩니다. - **지도 학습 (Supervised Learning)**: '문제(입력)'와 '정답(레이블)'이 모두 있는 데이터를 사용하여, 입력과 정답 사이의 관계를 학습합니다. (예: 사진을 보고 '고양이'인지 '개'인지 맞추기) **분류**와 **회귀**가 대표적입니다. - **비지도 학습 (Unsupervised Learning)**: '정답' 없이 데이터 자체의 숨겨진 구조, 패턴, 유사성을 파악합니다. (예: 고객 데이터를 보고 비슷한 성향의 그룹으로 나누기) **군집화**가 대표적입니다. - **강화 학습 (Reinforcement Learning)**: 에이전트가 환경과 상호작용하며 '보상'을 최대로 얻는 방향으로 행동을 학습합니다. (예: 시행착오를 통해 미로를 탈출하는 법을 배우는 로봇) - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) - **미세조정 (Fine-tuning)** - **정의**: 방대한 데이터로 사전 훈련된 파운데이션 모델을 특정 도메인이나 특정 작업에 맞게 소량의 데이터로 추가 학습시키는 과정. 모델을 처음부터 훈련하는 것보다 훨씬 적은 비용과 데이터로 높은 성능을 얻을 수 있는 효과적인 방법입니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md), [Part 10: 전문가로 가는 길](./part_10_expert_path.md) ### ㅂ - **보상 해킹 (Reward Hacking)** - **정의**: 강화학습에서 AI 에이전트가 설계된 보상 시스템의 허점을 악용하여, 의도된 목표를 달성하지 않고도 보상을 극대화하는 방법을 찾아내는 현상. AI의 기만적인 행동이나 예상치 못한 부작용을 일으킬 수 있어 AI 안전 분야의 주요 연구 주제입니다. - **관련 파트**: [Part 10: 전문가로 가는 길](./part_10_expert_path.md) - **벡터 저장소 (Vector Store)** - **정의**: 텍스트, 이미지 등과 같은 데이터를 고차원의 벡터(Vector)로 변환하여 저장하고, 특정 벡터와 유사한 벡터를 빠르고 효율적으로 검색할 수 있도록 설계된 데이터베이스. RAG 시스템에서 문서 Chunk들의 임베딩 벡터를 저장하고, 사용자 질문과 관련된 Chunk를 찾는 데 핵심적인 역할을 합니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) - **분류 (Classification)** - **정의**: 지도 학습의 한 종류로, 데이터를 미리 정해진 여러 개의 카테고리(클래스) 중 하나로 예측하는 작업입니다. (예: 스팸/정상 메일 분류, 품종 분류) - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) ### ㅅ - **사고의 연쇄 (Chain-of-Thought, CoT)** - **정의**: 대규모 언어 모델(LLM)이 복잡한 추론 문제를 해결할 때, 최종 답변뿐만 아니라 그 답변에 도달하기까지의 중간 단계들을 명시적으로 생성하도록 유도하는 프롬프팅 기법. 모델의 추론 과정을 투명하게 만들고, 더 정확한 답변을 얻는 데 도움을 줍니다. - **관련 파트**: [Part 10: 전문가로 가는 길](./part_10_expert_path.md) - **Scikit-learn (사이킷런)** - **정의**: 파이썬의 대표적인 머신러닝 라이브러리. 회귀, 분류, 군집화 등 다양한 머신러닝 알고리즘과 데이터 전처리, 모델 평가 도구를 제공하여 사용자가 쉽게 모델을 개발할 수 있도록 돕습니다. - **관련 파트**: [Part 5: AI 핵심 라이브러리](./part_5_ai_core_libraries.md), [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) - **손실 함수 (Loss Function)** - **정의**: 딥러닝 모델의 예측 값이 실제 정답과 얼마나 다른지를 나타내는 '오차'를 계산하는 함수. 모델은 이 손실 함수의 값을 최소화하는 방향으로 가중치를 업데이트하며 학습을 진행합니다. - **비유**: '목표 지점과의 거리 측정기'. 모델이 쏜 화살이 과녁(정답)에서 얼마나 빗나갔는지를 측정하여, 다음번엔 어느 방향으로 조준해야 할지 알려주는 역할을 합니다. - **관련 파트**: [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **신경망 (Neural Network)** - **정의**: 인간의 뇌에 있는 뉴런의 연결 구조를 모방하여 만든 수학적 모델. 여러 개의 계층(Layer)으로 구성되며, 각 계층의 수많은 노드(뉴런)들이 서로 연결되어 데이터 속의 복잡한 패턴을 학습합니다. 딥러닝의 핵심이 되는 모델 구조입니다. - **관련 파트**: [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **SQLAlchemy (SQL알케미)** - **정의**: 파이썬의 대표적인 ORM(Object-Relational Mapping) 라이브러리. 개발자가 SQL 쿼리를 직접 작성하지 않고, 파이썬 클래스(모델)와 객체를 통해 데이터베이스의 테이블과 레코드를 조작할 수 있도록 해주는 강력한 도구입니다. - **관련 파트**: [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) - **Swagger UI / OpenAPI** - **정의**: OpenAPI Specification(과거 Swagger Specification)은 RESTful API를 명세하고 기술하기 위한 표준 형식입니다. Swagger UI는 이 명세서를 바탕으로, 개발자가 브라우저에서 직접 API 문서를 확인하고 상호작용(테스트)할 수 있는 아름다운 웹 인터페이스를 자동으로 생성해주는 도구입니다. FastAPI는 이 기능을 기본적으로 내장하고 있습니다. - **비유**: '스마트 메뉴판'. 모든 메뉴(엔드포인트)와 필요한 재료(요청), 나오는 요리(응답)를 보여줄 뿐만 아니라, `Try it out` 버튼으로 그 자리에서 바로 맛보기 주문을 넣어 결과를 확인할 수 있습니다. - **관련 파트**: [Part 8: FastAPI를 이용한 모델 서빙](./part_8_model_serving_with_fastapi.md) ### ㅇ - **역전파 (Backpropagation)** - **정의**: 신경망 학습의 핵심 알고리즘. 출력층에서 계산된 손실(오차)을 입력층 방향으로 거꾸로 전파시키면서, 각 가중치(파라미터)가 오차에 얼마나 기여했는지를 계산하고, 이 정보를 바탕으로 옵티마이저가 가중치를 업데이트하도록 하는 방식입니다. - **비유**: '팀 프로젝트 과제 피드백'. 최종 결과물(출력)에 대한 교수님의 피드백(오차)을 받고, 각 팀원이 어떤 부분에서 실수를 했는지(기여도) 역으로 추적하여 각자의 역할을 수정(가중치 업데이트)하는 과정과 같습니다. - **관련 파트**: [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **에이전트 AI (Agent AI)** - **정의**: 주어진 목표를 달성하기 위해 스스로 **계획을 세우고, 도구를 사용하며, 주변 환경과 상호작용**하는 등 자율적으로 행동하는 AI 시스템. 단순한 예측 모델을 넘어, 복잡한 작업을 자율적으로 수행하는 주체로서의 AI를 의미합니다. - **관련 파트**: [Part 10: 전문가로 가는 길](./part_10_expert_path.md) - **에이전틱 워크플로우 (Agentic Workflow)** - **정의**: AI 에이전트가 목표를 달성하기 위해 사용하는 **반복적이고 순환적인 작업 방식**. 단순히 입력을 받아 출력을 내는 단방향 프로세스가 아니라, **[생각 → 행동 → 관찰 → 다음 행동 계획]**의 사이클을 반복하며 스스로 결과를 개선해 나가는 과정을 의미합니다. - **관련 파트**: [Part 0: 시작하며](./part_0_introduction.md), [Part 10: 전문가로 가는 길](./part_10_expert_path.md) - **Ollama (오라마)** - **정의**: LLaMA, Mistral 등 다양한 오픈소스 소형 언어 모델(SLM)을 개인 컴퓨터에서 쉽고 빠르게 설치하고 실행할 수 있도록 도와주는 도구. `Modelfile`이라는 간단한 설정 파일을 통해 모델을 커스터마이징하고, 로컬 환경에서 API 서버를 통해 모델을 바로 활용할 수 있습니다. - **관련 파트**: [Part 10: 전문가로 가는 길](./part_10_expert_path.md) - **옵티마이저 (Optimizer)** - **정의**: 손실 함수가 계산한 오차를 기반으로, 모델의 파라미터(가중치)를 가장 효율적인 방향으로 업데이트하는 알고리즘. 경사 하강법(Gradient Descent)을 기반으로 하며, Adam, SGD, RMSprop 등 다양한 종류가 있습니다. - **비유**: '산을 내려오는 등산가'. 손실 함수라는 '산의 고도 지도'를 보고, 현재 위치에서 경사가 가장 가파른 방향(오차를 가장 빨리 줄이는 방향)으로 한 걸음씩 나아가 산의 가장 낮은 지점(최적의 가중치)을 찾아가는 역할을 합니다. - **관련 파트**: [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **엔드포인트 (Endpoint)** - **정의**: API가 리소스에 접근할 수 있도록 제공하는 최종 통신 지점의 URL. 각 엔드포인트는 특정 기능(예: 사용자 정보 조회, 상품 추가)과 연결됩니다. - **예시**: `https://api.example.com/users/123` 에서 `/users/123` 부분이 엔드포인트입니다. - **관련 파트**: [Part 8: FastAPI를 이용한 모델 서빙](./part_8_model_serving_with_fastapi.md) - **의존성 주입 (Dependency Injection)** - **정의**: 객체가 필요로 하는 다른 객체(의존성)를 외부에서 직접 생성하여 전달하는 디자인 패턴. 객체 스스로 의존성을 생성하지 않으므로, 코드의 결합도(Coupling)를 낮추고 유연성과 테스트 용이성을 높입니다. - **예시**: FastAPI에서 `Depends`를 사용하여 데이터베이스 세션(`db: Session = Depends(get_db)`)을 라우터 함수에 주입하는 것. 이를 통해 라우터 함수는 DB 세션 생성 방법을 알 필요 없이 사용에만 집중할 수 있습니다. - **관련 파트**: [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) - **Uvicorn (유비콘)** - **정의**: FastAPI와 같은 ASGI 표준을 따르는 파이썬 웹 프레임워크를 위한 고성능 비동기 서버. '서버 매니저' 또는 '서버 게이트웨이' 역할을 하며, 실제 운영 환경에서는 Gunicorn과 함께 사용하여 여러 프로세스를 관리하며 안정성과 성능을 높이는 경우가 많습니다. - **관련 파트**: [Part 8: FastAPI를 이용한 모델 서빙](./part_8_model_serving_with_fastapi.md) - **임베딩 (Embedding)** - **정의**: 텍스트와 같은 이산적인 데이터를 컴퓨터가 처리하기 쉬운 연속적인 숫자 벡터(Vector)로 변환하는 과정 또는 그 결과물. 단어, 문장, 문서의 의미적인 관계를 벡터 공간에 표현하여, 단어 간 유사도 계산이나 기계 학습 모델의 입력값으로 활용됩니다. RAG에서는 문서 Chunk와 사용자 질문을 임베딩하여 의미적으로 유사한 정보를 찾습니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) ### ㅊ - **Chunking (청킹)** - **정의**: RAG 시스템에서 LLM이 효율적으로 처리하고 검색할 수 있도록, 긴 문서를 의미 있는 작은 조각(Chunk)으로 나누는 과정. 어떻게 Chunk를 나누는지에 따라 RAG 시스템 전체의 검색 성능과 답변 품질이 크게 달라지기 때문에 매우 중요한 단계입니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) ### ㅌ - **특성 스케일링 (Feature Scaling)** - **정의**: 여러 특성(Feature)들의 값의 범위(스케일)를 일정하게 맞추는 데이터 전처리 작업. '키'와 '나이'처럼 스케일이 다른 특성들이 모델에 미치는 영향을 동등하게 만들어 모델의 학습 성능과 안정성을 높입니다. `StandardScaler`가 대표적인 예입니다. - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) ### ㅍ - **Pandas (판다스)** - **정의**: 파이썬에서 표 형식의 데이터를 다루기 위한 필수 라이브러리. `DataFrame`(2차원 테이블)과 `Series`(1차원 배열)라는 강력하고 직관적인 자료구조를 제공하여, CSV, Excel, DB 등 다양한 소스로부터 데이터를 읽고 쓰고, 정제하고, 분석하는 작업을 매우 효율적으로 수행할 수 있게 해줍니다. - **비유**: '슈퍼 엑셀'. 엑셀이 할 수 있는 대부분의 데이터 처리 작업을 파이썬 코드를 통해 자동화하고, 훨씬 더 대용량의 데이터를 자유자재로 다룰 수 있게 해주는 도구입니다. - **관련 파트**: [Part 5: AI 핵심 라이브러리](./part_5_ai_core_libraries.md) - **FastAPI (패스트API)** - **정의**: 현대적인 고성능 파이썬 웹 프레임워크. 파이썬 3.7+의 타입 힌트(Type Hint)를 기반으로 하며, ASGI를 지원하여 매우 빠른 속도를 자랑합니다. Pydantic을 이용한 자동 데이터 유효성 검사와 자동으로 생성되는 대화형 API 문서(Swagger UI)가 특징입니다. - **관련 파트**: [Part 8: FastAPI를 이용한 모델 서빙](./part_8_model_serving_with_fastapi.md), [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) - **파운데이션 모델 (Foundation Model)** - **정의**: 방대한 양의 데이터로 사전 훈련되어, 특정 작업에 국한되지 않고 다양한 다운스트림 작업(downstream task)에 적용될 수 있는 범용적인 대규모 AI 모델. GPT-3, LLaMA 등이 대표적인 예이며, 약간의 미세조정(fine-tuning)이나 프롬프트 엔지니어링만으로 다양한 문제를 해결할 수 있는 잠재력을 가집니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) - **PyTorch (파이토치)** - **정의**: 페이스북(Meta AI)에서 개발한 오픈소스 딥러닝 프레임워크. 동적 계산 그래프를 지원하여 유연하고 직관적인 모델 구현이 가능하며, 연구 및 개발 커뮤니티에서 널리 사용됩니다. - **관련 파트**: [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **프롬프트 엔지니어링 (Prompt Engineering)** - **정의**: 대규모 언어 모델(LLM)로부터 원하는 최상의 결과를 얻어내기 위해, 모델에 입력하는 지시문(프롬프트)을 최적화하고 설계하는 기술 또는 과정. 질문의 형식, 예시(Few-shot), 역할 부여 등 다양한 기법을 통해 모델의 성능을 크게 향상시킬 수 있습니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) - **Pydantic (파이댄틱)** - **정의**: 파이썬의 타입 힌트(Type Hint)를 사용하여 데이터의 유효성을 검사하고 설정을 관리하는 라이브러리. FastAPI에서 요청 및 응답 데이터의 형식을 정의하고 자동으로 검증하는 데 핵심적인 역할을 합니다. - **장점**: 개발자가 직접 데이터 검증 코드를 작성할 필요 없이, 모델 클래스를 정의하는 것만으로 복잡한 데이터 유효성 검사를 수행할 수 있어 코드의 안정성과 가독성을 크게 향상시킵니다. - **관련 파트**: [Part 8: FastAPI를 이용한 모델 서빙](./part_8_model_serving_with_fastapi.md), [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) ### ㅎ - **합성곱 신경망 (CNN, Convolutional Neural Network)** - **정의**: 이미지 데이터 처리에 특화된 딥러닝 모델. 인간의 시신경을 모방한 필터(Filter/Kernel)를 사용하여 이미지의 공간적인 특징(모서리, 질감 등)을 효과적으로 추출하고 학습합니다. - **관련 파트**: [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **혼동 행렬 (Confusion Matrix)** - **정의**: 분류 모델의 성능을 평가하기 위한 표. 실제 클래스와 모델이 예측한 클래스를 비교하여, 모델이 어떤 유형의 오류를 범하는지(e.g., '정상'을 '스팸'으로 잘못 예측) 직관적으로 보여줍니다. 정확도(Accuracy)뿐만 아니라 정밀도(Precision), 재현율(Recall) 등을 계산하는 기반이 됩니다. - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) - **환각 (Hallucination)** - **정의**: 대규모 언어 모델(LLM)이 사실이 아니거나 맥락에 맞지 않는 정보를 그럴듯하게 사실처럼 생성하는 현상. 모델의 내적 지식에만 의존할 때 발생하기 쉬우며, RAG는 이러한 환각 현상을 완화하는 효과적인 방법 중 하나입니다. - **관련 파트**: [Part 7.5: LLM 애플리케이션 개발과 LangChain](./part_7.5_llm_application_development_with_langchain.md) - **활성화 함수 (Activation Function)** - **정의**: 신경망에서 이전 레이어로부터 전달받은 신호의 총합을 다음 레이어로 전달할지 여부를 결정하는 함수. 선형적인 계산 결과에 비선형성(non-linearity)을 추가하여, 신경망이 더 복잡하고 다양한 패턴을 학습할 수 있도록 하는 핵심적인 역할을 합니다. ReLU, Sigmoid, Tanh 등이 대표적입니다. - **관련 파트**: [Part 7: 딥러닝 첫걸음](./part_7_deep_learning.md) - **회귀 (Regression)** - **정의**: 지도 학습의 한 종류로, '주택 가격', '주가', '온도'처럼 연속적인 숫자 값을 예측하는 문제입니다. - **관련 파트**: [Part 6: 머신러닝 완전 정복](./part_6_machine_learning.md) --- ### Alphabet - **API (Application Programming Interface)** - **정의**: 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘. 웹 API는 클라이언트(예: 웹 브라우저, 모바일 앱)가 서버의 기능이나 데이터에 접근할 수 있도록 미리 정해놓은 규칙의 집합입니다. - **비유**: 식당의 메뉴판. 손님(클라이언트)은 메뉴판(API)을 보고 주문(요청)할 수 있으며, 주방(서버)은 정해진 메뉴에 따라 음식을 만들어 제공(응답)합니다. - **관련 파트**: [Part 8: FastAPI를 이용한 모델 서빙](./part_8_model_serving_with_fastapi.md), [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md) - **ASGI (Asynchronous Server Gateway Interface)** - **정의**: 비동기 파이썬 웹 서버와 프레임워크(예: FastAPI, Starlette)가 통신하기 위한 표준 인터페이스. 많은 수의 I/O 바운드 작업을 동시에 효율적으로 처리하는 데 강점이 있습니다. - **비교**: WSGI(Web Server Gateway Interface)는 동기식 파이썬 웹 프레임워크(예: Flask, Django)를 위한 전통적인 인터페이스입니다. ASGI는 WSGI의 후속 버전으로 비동기 기능을 지원합니다. - **관련 파트**: [Part 8: FastAPI를 이용한 모델 서빙](./part_8_model_serving_with_fastapi.md) - **CI/CD (Continuous Integration/Continuous Deployment)** - **정의**: 지속적 통합(CI)과 지속적 배포/전달(CD)을 합친 용어로, 소프트웨어 개발 및 배포 프로세스를 자동화하여 품질과 속도를 높이는 DevOps 문화 및 방법론. - **CI (지속적 통합)**: 여러 개발자가 작업한 코드를 주기적으로 중앙 레포지토리에 통합(merge)할 때마다, 자동으로 빌드하고 테스트하여 코드의 충돌과 버그를 조기에 발견하는 프로세스. - **CD (지속적 배포)**: CI를 통과한 코드를 테스트 환경이나 실제 프로덕션 환경까지 자동으로 배포하는 프로세스. - **비유**: '자동 메뉴 업데이트 시스템'. 새로운 레시피(코드)가 개발되면, 중앙 주방에서 자동으로 맛을 검증(CI)하고, 전국 모든 지점에 레시피를 즉시 배포(CD)하는 것과 같습니다. - **관련 파트**: [Part 10: 전문가로 가는 길](./part_10_expert_path.md) - **Google Colab (구글 코랩)** - **정의**: 구글에서 제공하는 클라우드 기반의 무료 Jupyter Notebook 개발 환경. 별도의 설치 없이 웹 브라우저만으로 파이썬 코드를 작성하고 실행할 수 있으며, 특히 무료로 강력한 GPU/TPU 자원을 활용할 수 있어 머신러닝 및 딥러닝 모델 학습에 매우 유용합니다. - **관련 파트**: [Part 1: AI 개발 환경 완벽 구축 가이드](./part_1_ai_development_environment.md) - **MLOps (Machine Learning Operations)** - **정의**: 머신러닝 모델을 개발(Dev)하고 운영(Ops)하는 전 과정을 통합하고 자동화하여, AI 서비스를 안정적이고 효율적으로 구축, 배포, 유지보수하기 위한 원칙과 실천 방법론. CI/CD, 데이터/모델 버전 관리, 지속적인 모니터링 및 재학습 파이프라인 구축 등이 포함됩니다. - **비유**: 'AI 레스토랑 프랜차이즈의 중앙 관제 시스템'. 신메뉴 개발, 전국 매장 배포, 품질 모니터링, 레시피 개선까지 모든 과정을 자동화하여 일관된 품질을 유지하고 지속적으로 성장시키는 시스템입니다. - **관련 파트**: [Part 10: 전문가로 가는 길](./part_10_expert_path.md) - **ORM (Object-Relational Mapping)** - **정의**: 객체 지향 프로그래밍 언어(예: 파이썬)의 객체(Class)와 관계형 데이터베이스(RDB)의 테이블을 자동으로 매핑(연결)해주는 기술. 개발자는 SQL 쿼리를 직접 작성하는 대신, 익숙한 프로그래밍 언어의 코드로 데이터베이스를 조작할 수 있습니다. - **예시**: SQLAlchemy 라이브러리를 사용하여 파이썬 클래스로 DB 테이블을 정의하고, 파이썬 코드로 데이터를 추가/조회하는 것. - **관련 파트**: [Part 9: 프로덕션 레벨 API와 Docker](./part_9_production_ready_api.md)