ai-engineering-from-scratch: 0부터 AI 엔지니어링을 배우는 32K 스타 커리큘럼 (32K Stars)
ai-engineering-from-scratch는 AI 엔지니어링을 0부터 배울 수 있는 종합 온라인 커리큘럼입니다. 12개 페이즈, 100개 이상의 레슨, 각 레슨마다 실습 프로젝트가 포함되어 있습니다. 32K stars.
- ⭐ 31915
- 업데이트 2026-06-16
AI 엔지니어링을 배우고 싶지만, 어디서부터 시작해야 할지 모르겠나요? Udemy 강의를 사보고, 책을 읽어보고, 튜토리얼을 따라해보지만… 항상 중간에 포기하게 됩니다. 이유는 명확합니다. 체계적인 커리큘럼이 없기 때문입니다..
ai-engineering-from-scratch는 이 문제를 해결합니다. 0부터 시작해서 실제로 AI 시스템을 빌드하고, 배송하는 것까지, 단계별로 배울 수 있는 무료 오픈소스 커리큘럼입니다.
요약 #
ai-engineering-from-scratch는 AI 엔지니어링을 체계적으로 배우는 무료 커리큘럼입니다. 12개 페이즈, 100개 이상의 레슨, 각 레슨마다 실습 프로젝트가 포함되어 있습니다. Python부터 시작해 Docker, MLOps, LLM 파인튜닝까지, AI 엔지니어링의 전 과정을 다룹니다. 32,000개 이상의 별을 받으며 가장 인기 있는 AI 학습 커리큘럼 중 하나가 되었습니다.
핵심 특징::
12개 페이즈의 체계적인 학습 경로
100개 이상의 레슨 (각각 실습 프로젝트 포함)
파이썬 기초부터 MLOPs 까지
Agent Memory (로힛의 이전 프로젝트)와 자연스럽게 연동
클로드, 커서, 코덱스, 오픈클로, 헤르메스 등 다양한 에이전트 스킬 제공
각 레슨마다 “빌드하고 배송"하는 프로젝트
커리큘럼 구조: 어떻게 되어 있는가? #
scratch는 12 개 페이즈로 구성되어 있습니다의 AI 엔지니어링:
0단계: 설정 및 도구(12개 레슨) #
개발 환경 설정. Python, Git, Docker, 에이전트 도구 설치.
1-4단계: 기초 #
파이썬 프로그래밍, NumPy, 판다, 데이터 시각화.
5-8단계: 머신 러닝 #
선형 회귀, 결정 트리, SVM, 앙상블 방법.
9-10단계: 딥러닝 #
신경망, CNN, RNN, 트랜스포머.
11-12단계: LLM 및 MLOps #
LLM 파인튜닝, 배포, 모니터링.
각 레슨의 구조 #
각 레슨은 다음과 같은 구조로 되어 있습니다:
수업 제목
├-- 이론 (이론)
├── Code (실습 코드)
├-- FIG_XXX (작업 샘플)
└-- 건조 및 배송(프로젝트)
각 레슨을 마치면 실제로 무언가를 빌드하고 배송합니다. 이론만 배우고 끝나는 것이 아닙니다.
설치 및 설정 #
파이썬 설치 #
# 파이썬 3.11+ 필요
python3 --버전
# 가상 환경 생성
python3 - m venv venv
소스 정맥/빈/activate
# 레포지토리 클론
git 클론 https://github.com/rohitg00/ai-engineering-from-scratch.git
scratch의 AI 엔지니어링 CD
pip 설치 -r 요구 사항.txt
에이전트 스킬 설치 #
# 클로드 코드
# 커리큘럼 스킬을 에이전트에 로드
# 커서
git 클론 https://github.com/rohitg00/ai-engineering-from-scratch.git
Docker #
도커 빌드 - 타이 엔지니어링 .
도커 런 - 인공지능 공학
Docker로 실행하면 환경 설정이 전혀 필요 없습니다.
커리큘럼 상세 #
0단계: 설정 및 도구(12개 레슨) #
Python 설치 및 설정
Git 및 GitHub
VS 코드 / 커서 설정
가상 환경
pip 및 패키지 관리
주피터 노트북
AI용 도커
에이전트 도구 설치
GitFlow 워크플로우
린터 및 포매터
테스트 프레임워크
첫 번째 프로젝트 빌드
1-4단계: 기초 #
각 페이즈마다 이론 레슨과 실습 프로젝트가 있습니다. 예를 들어:
NumPy: 배열 연산, 브로드캐스팅, 벡터화
Pandas: 데이터프레임 조작, 그룹바이, 병합
시각화: 매트플롯립, 씨본
5-8단계: 머신 러닝 #
선형 회귀: 스키킷 학습, MSE, R²
결정 트리: 과적합, 가지치기
SVM: 커널 트릭, 하이퍼파라미터
앙상블: 랜덤 포레스트, 그라디언트 부스팅
9-10단계: 딥러닝 #
신경망: 파이토치, 오토그라드
CNN: 이미지 분류
RNN: 시계열 예측
트랜스포머: 주의 메커니즘
12단계: MLOps 및 배포(12개 레슨) #
마지막 페이즈에서는 만든 AI 모델을 실제로 배포하고 모니터링합니다:
모델 패키징 (피클, 잡립)
FastAPI 로 REST API 생성
Docker 컨테이너화
쿠버네티스 배포
CI/CD 파이프라인
모델 모니터링(드리프트 감지)
A/B 테스트
모델 재학습 파이프라인
비용 최적화
보안 모범 사례
성능 벤치마킹
최종 프로젝트: 완전한 AI 서비스 배포
각 레슨마다 실습 프로젝트가 포함되어 있습니다. 예를 들어 Phase 12의 마지막 프로젝트는 “완전한 AI 서비스 배포"입니다. 모델을 FastAPI로 패키징하고, Docker로 컨테이너화하고, Kubernetes에 배포하고, 모니터링 대시보드를 설정합니다.
에이전트 스킬 #
AI 엔지니어링-처음부터 끝까지 는 다양한 AI 에이전트와 연동됩니다:
| 에이전트 | 스킬 |
|———-|——|
| Claude Code | 커리큘럼 스킬 |
| Cursor | 코드 리뷰 스킬 |
| Codex | 실습 가이드 |
| OpenClaw | 프로젝트 생성 |
| Hermes | 학습 추적 |
에이전트 스킬을 설치하면, AI가 각 레슨을 안내하고 코드를 검토해 줍니다.
벤치마크: 학습 효율 비교 #
학습 경로별 효율 비교:
| 항목 | 전통적 강의 | ai-engineering-from-scratch | 향상률 |
|——|————-|—————————-|——–|
| 학습 시간 | 6-12개월 | 3-6개월 | 2x |
| 실습 비중 | 20% | 80% | 4x |
| 프로젝트 수 | 2-3개 | 100개+ | 50x |
| 비용 | $500-$2000 | 무료 | ∞ |
아키텍처: 어떻게 작동하는가? #
┌─────────────────────────────────────────────────┐
│ AI 엔지니어링-처음부터 처음부터 끝까지 구조 │
├─────────────────────────────────────────────────┤
│ 상/│
│ ├── 00-setup-and-tooling/ │
│ │ ├── 01-python-basics/ │
│ │ ├-- 02-깃-basics/│
│ │ └── ... │
│ ├-- 01-재단/│
│ ├-- 02-기계 학습/│
│ ├-- 03-딥러닝/│
│ └-- 04-llm-mlops/│
│ │
│ FIG_XXX.py (작업 샘플) │
│ 요구 사항.txt │
│ README.md │
└─────────────────────────────────────────────────┘
각 페이즈는 독립적으로 학습할 수 있습니다. 원하는 페이즈부터 시작하면 됩니다.
사용 사례 #
사례 1: 완전 초보자 #
Python부터 시작해 12개 페이즈를 순서대로 학습합니다.
사례 2: 기존 개발자 #
Machine Learning 페이즈부터 시작하여 AI 엔지니어링으로 전환합니다.
사례 3: 데이터 사이언티스트 #
Deep Learning과 LLM 페이즈로 전문성을 확장합니다.
사례 4: 스타트업 founder #
AI 제품을 빠르게 프로토타이핑하기 위해 practical MLOps 페이즈만 학습합니다.
사례 5: 대학 교수 #
강의 커리큘럼으로 사용합니다. 각 레슨을 수업 과제로 사용하고, 에이전트 스킬로 학생들의 코드를 자동 검토합니다.
사례 6: 프리랜서 개발자 #
AI 엔지니어링을 새로운 서비스로 확장합니다. 커리큘럼을 따라 하며 실력을 쌓은 후, Upwork나 Fiverr에서 AI 프로젝트를 수주합니다.
Phase 12 심화: MLOps 파이프라인 구축하기 #
ai-engineering-from-scratch의 Phase 12는 실제 프로덕션 환경에서 AI 모델을 운영하는 방법을 가르칩니다. 여기서는 MLOps 파이프라인을 구체적으로 어떻게 구축하는지 자세히 다룹니다.
FastAPI 모델 서버 구축 #
학습한 모델을 REST API로 제공하는 FastAPI 서버 구현:
# 모델/predictor.py
joblib 가져오기
numpy를 np로 가져오기
fastapi import FastAPI, HTTPException에서
pydantic import BaseModel에서
app = FastAPI(title="AI 예측 서비스")
#모델로드
모델 = joblib.load("models/trained_model.pkl")
tokenizer = joblib.load("models/tokenizer.pkl")
클래스 PredictionRequest(BaseModel):
텍스트: str
온도: 플로트 = 0.7
top_k: 정수 = 50
클래스 PredictionResponse(BaseModel):
예측: str
자신감: 플로트
토큰: 목록[str]
@app.post("/predict", response_model=PredictionResponse)
def 예측(요청: PredictionRequest):
"""단일선택 예측 포인트"""
시도해 보세요:
인코딩 = tokenizer.encode_plus(
요청.텍스트,
return_tensors="np",
패딩="최대_길이",
최대 길이=512,
잘림=참
)
input_ids = np.array(encoded["input_ids"])
attention_mask = np.array(encoded["attention_mask"])
예측 = model.predict(input_ids, attention_mask)
신뢰도 = float(np.max(예측))
예측_클래스 = int(np.argmax(예측))
예측응답(
예측=str(예측_클래스),
자신감=자신감,
토큰=[request.text[:20]]
)
e와 같은 예외를 제외하고:
HTTPException 발생(status_code=500, 세부정보=str(e))
@app.get("/건강")
def health_check():
"""서비스 상태 확인 종료포인트"""
반환 {"status": "healthy", "model_version": "1.0.0"}
Docker 컨테이너화 #
# 도커파일
출처: 파이썬:3.12-슬림
WorkDIR / 앱
# 의존성 설치
복사 요구 사항 .txt.
RUN pip 설치 --no-cache-dir -r 요구 사항.txt
# 애플리케이션 복사
복사 . .
# 모델 파일 복사
복사 모델/ ./모델/
노출 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
빌드 및 실행:
도커 빌드 - t ai-service: v1 .
도커 실행 -p 8000:8000 -v $(pwd)/models:/앱/models AI 서비스:v1
Kubernetes 배포 매니페스트 #
# k8s/deployment.yaml
api버전: 앱/v1
종류: 배포
메타데이터:
이름: ai-prediction-service
라벨:
앱: AI 예측
사양:
복제본: 3
선택기:
일치 라벨:
앱: AI 예측
템플릿:
메타데이터:
라벨:
앱: AI 예측
사양:
컨테이너:
- 이름 : ai-service
이미지: ai-service:v1
포트:
- 컨테이너 포트: 8000
자원:
요청:
메모리: "512Mi"
CPU: "250m"
한도:
메모리: "1Gi"
CPU: "500m"
활성 프로브:
httpGet:
경로: /건강
포트: 8000
초기 지연초: 30
기간초: 10
준비 상태프로브:
httpGet:
경로: /건강
포트: 8000
초기 지연초: 5
기간초: 5
---
api버전: v1
종류: 서비스
메타데이터:
이름: ai-prediction-service
사양:
선택기:
앱: AI 예측
포트:
- 프로토콜: TCP
포트: 80
타겟 포트: 8000
유형: LoadBalancer
CI/CD 파이프라인: GitHub 액션 #
# .github/workflows/mlops.yml
이름: MLOps 파이프라인
에:
푸시:
가지: [메인]
풀 요청:
가지: [메인]
직업:
테스트:
실행: 우분투 최신
단계:
- 용도: actions/checkout@v4
- 이름: Python 설정
용도: actions/setup-python@v5
와:
파이썬 버전: '3.12'
- 이름: 설치 종속성
실행: pip install -r 요구 사항.txt
- 이름: 테스트 실행
실행: pytest 테스트/ -v --cov=models --cov-report=xml
- 이름 : 업로드 취재
용도: codecov/codecov-action@v4
기차:
요구사항: 테스트
실행: 우분투 최신
단계:
- 용도: actions/checkout@v4
- 이름: 열차 모델
실행: python scripts/train.py
- 이름: 모델 아티팩트 저장
용도: actions/upload-artifact@v4
와:
이름: 훈련된 모델
경로: 모델/
배포:
필요: 기차
실행: 우분투 최신
if: github.ref == '참조/헤드/메인'
단계:
- 용도: actions/checkout@v4
- 이름 : 다운로드 모델
용도: actions/download-artifact@v4
와:
이름: 훈련된 모델
경로: 모델/
- 이름: Docker 이미지 빌드 및 푸시
실행: |
docker build -t ghcr.io/${{ github.repository }}/ai-service:${{ github.sha }} .
echo "${{ 비밀.GITHUB_TOKEN }}" | 도커 로그인 ghcr.io -u ${{ github.actor }} --password-stdin
docker push ghcr.io/${{ github.repository }}/ai-service:${{ github.sha }}
- 이름: Kubernetes에 배포
실행: |
kubectl 이미지 배포/ai-prediction-service 설정 \
ai-service=ghcr.io/${{ github.repository }}/ai-service:${{ github.sha }}
심화 학습: Transformer 아키텍터 심층 분석 #
Phase 9-10의 Deep Learning 부분에서 다루는 Transformer 아키텍처를 더 깊이 이해하기 위한 내용을 추가합니다.
셀프 어텐션 수식 #
트랜스포머 의 핵심인 셀프 어텐션 메커니즘:
$$Attention(Q, K, V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$$여기서 Q(Query), K(Key), V(Value)는 각각 입력 임베딩을 선형 변환하여 생성됩니다:
수입 토치
torch.nn을 nn으로 가져오기
수학 가져오기
클래스 MultiHeadAttention(nn.Module):
"""다중 헤드 어텐션 구현"""
def __init__(self, d_model=512, n_heads=8):
슈퍼().__init__()
self.d_model = d_model
self.n_heads = n_heads
self.d_k = d_model // n_heads
self.W_q = nn.Linear(d_model, d_model)
self.W_k = nn.Linear(d_model, d_model)
self.W_v = nn.Linear(d_model, d_model)
self.W_o = nn.Linear(d_model, d_model)
def scaled_dot_product_attention(self, Q, K, V, 마스크=없음):
"""스케일된 닷프로덕트 어텐션"""
점수 = torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(self.d_k)
마스크가 None이 아닌 경우:
점수 = 점수.masked_fill(마스크 == 0, -1e9)
주의 = torch.softmax(점수, 희미함=-1)
torch.matmul(attention, V), 주의 반환
def 앞으로(self, Q, K, V, 마스크=없음):
배치_크기 = Q.크기(0)
# 미래의 멀티헤드로 파티
Q = self.W_q(Q).view(batch_size, -1, self.n_heads, self.d_k).transpose(1, 2)
K = self.W_k(K).view(batch_size, -1, self.n_heads, self.d_k).transpose(1, 2)
V = self.W_v(V).view(batch_size, -1, self.n_heads, self.d_k).transpose(1, 2)
#어텐션작업
attn_output, attention_weights = self.scaled_dot_product_attention(Q, K, V, 마스크)
# 머리를 다시 뽑다
attn_output = attn_output.transpose(1, 2).contiguous().view(batch_size, -1, self.d_model)
self.W_o(attn_output), attention_weights를 반환합니다.
위치 인코딩 #
Transformer는 순서 정보를 직접 담고 있지 않으므로 위치 인코딩을 추가합니다:
클래스 위치 인코딩(n.Module):
"""사인/코사인 위치 인코딩"""
def __init__(자기, d_model, max_len=5000, dropout=0.1):
슈퍼 ()._init_()
자기 dropout = nn.드롭아웃(드롭아웃)
pe = torch.zeros(max_len, d_model)
위치 = torch.arange(0, max_len, dtype=torch), float 해제(1)
div_term = torch.exp(torch.range(0, d_model, 2). float() * (-math.log(10000.0) / d_model)
pe[:, 0:2] = torch.sin(위치 * div_term)
pe[:, 1:2] = torch.cos(위치 * div_term)
pe = pe.unsqueeze(0)
self.register_buffer('pe', pe)
앞으로(자기, x):
x = x + self.pe [:, :x.size(1), :]
자아를 되찾다. dropout(x)
모델 성능 벤치마킹 프레임워크 #
학습한 모델의 성능을 체계적으로 평가하기 위한 벤치마킹 도구:
# 벤치마킹/model_benchmark.py
수입 시간
numpy를 np로 가져오기
sklearn.metrics에서 Classification_report, Confusion_matrix 가져오기
수입 토치
클래스 ModelBenchmark:
"""모델 성능 벤치마킹 클래스"""
def __init__(self, 모델, 토크나이저, 장치="cuda"):
self.model = 모델
self.tokenizer = 토크나이저
self.device = 장치
def benchmark_accuracy(self, test_dataset):
"""정확도 벤치마크"""
self.model.eval()
정확함 = 0
총계 = 0
예측 = []
true_labels = []
torch.no_grad()를 사용하여:
텍스트의 경우 test_dataset의 라벨:
입력 = self.tokenizer(
텍스트, return_tensors="pt",
패딩=True, 잘림=True, max_length=512
).to(self.device)
출력 = self.model(**입력)
preds = torch.argmax(outputs.logits, 희미한 = 1)
올바른 += (preds == labels.to(self.device)).sum().item()
전체 += labels.size(0)
예측.확장(preds.cpu().numpy())
true_labels.extend(labels.numpy())
정확도 = 정확함 / 전체
보고서 = 분류_보고서(true_labels, 예측, 출력_dict=True)
반환 {
"정확도": 정확도,
"분류_보고": 보고,
"confusion_matrix": 혼동_매트릭스(true_labels, 예측).tolist()
}
def benchmark_latency(self, test_dataset, num_runs=100):
"""레이턴시 벤치마킹"""
self.model.eval()
대기 시간 = []
torch.no_grad()를 사용하여:
텍스트의 경우 _ test_dataset에 있음:
입력 = self.tokenizer(
텍스트, return_tensors="pt",
패딩=True, 잘림=True, max_length=512
).to(self.device)
# 워밍업
_ = self.model(**입력)
# 타이밍
시작 = time.perf_counter()
_ 범위 내(num_runs):
_ = self.model(**입력)
끝 = time.perf_counter()
avg_latency = (끝 - 시작) / num_runs
대기 시간.추가(avg_latency)
반환 {
"avg_latency_ms": np.mean(대기 시간) * 1000,
"p50_latency_ms": np.percentile(대기 시간, 50) * 1000,
"p99_latency_ms": np.percentile(대기 시간, 99) * 1000,
"throughput_rps": 1.0 / np.mean(대기 시간)
}
def full_report(self, test_dataset):
"""종합 벤치마크 기자"""
Accuracy_report = self.benchmark_accuracy(test_dataset)
Latency_report = self.benchmark_latency(test_dataset)
반환 {
"정확도": 정확도_보고,
"대기 시간": 대기 시간_보고,
"요약": {
"accuracy_pct": f"{accuracy_report['accuracy']*100:.2f}%",
"avg_latency": f"{latency_report['avg_latency_ms']:.2f}ms",
"처리량": f"{latency_report['throughput_rps']:.1f} 요청/초"
}
}
LLM 파인튜닝 심화: LoRA와QLoRA #
Phase 11-12에서 다루는 LLM 파인튜닝의 현대적 기법:
# 미세 조정/lora_finetune.py
peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training에서
변환기에서 AutoModelForCausalLM, BitsAndBytesConfig 가져오기
수입 토치
def setup_lora_finetuning(model_name="meta-llama/Llama-3-8B"):
"""LoRA 파인튜닝 설정"""
# 4 비트 복잡하게 설정
퀀트_config = BitsAndBytesConfig(
load_in_4bit=참,
bnb_4bit_Quant_type="nf4",
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_use_double_Quant=참
)
#모델로드 (양자화)
모델 = AutoModelForCausalLM.from_pretrained(
모델_이름,
양자화_구성=퀀트_구성,
device_map="자동"
)
#모델준비
모델 = prepare_model_for_kbit_training(모델)
# LoRA 설정
lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
lora_dropout=0.05,
편견="없음",
task_type="CAUSAL_LM"
)
# LoRA적용
모델 = get_peft_model(모델, lora_config)
model.print_trainable_parameters()
반환 모델
def train_with_trainer(모델, train_dataset, output_dir="./lora_output"):
"""Trainer로 파인튜닝 달리기"""
Transformers에서 TrainingArguments, Trainer 가져오기
training_args = TrainingArguments(
출력_디렉터리=출력_디렉터리,
per_device_train_batch_size=4,
그래디언트_축적_단계=4,
학습률=2e-4,
fp16=맞습니다,
로깅_단계=10,
save_strategy="에포크",
eval_strategy="시대",
num_train_epochs=3,
Warmup_ratio=0.1,
optim="paged_adamw_8bit"
)
트레이너 = 트레이너(
모델=모델,
args=training_args,
train_dataset=train_dataset
)
트레이너.기차()
트레이너.저장_모델(output_dir)
리턴 트레이너
학습 로드맵: 개인별 맞춤 추천 #
학습자의 배경에 따른 최적의 학습 경로:
| 배경 | 추천 시작 페이즈 | 예상 완료 기간 | 핵심 페이즈 |
|——|—————–|—————|————|
| 완전 초보자 (프로그래밍 경험 없음) | Phase 0 | 6-9개월 | 0-12 전체 |
| 일반 개발자 (Python 경험 있음) | Phase 1 | 4-6개월 | 1-8, 11-12 |
| 데이터 분석가 (Pandas 경험 있음) | Phase 5 | 3-5개월 | 5-10, 11-12 |
| ML 엔지니어 (scikit-learn 경험 있음) | Phase 9 | 2-4개월 | 9-12 |
| 연구자 (논문 기반 지식 있음) | Phase 11 | 1-3개월 | 11-12 |
| DevOps 엔지니어 | Phase 12 | 1-2개월 | 12 전체 |
프로젝트 아이디어 모음 #
커리큘럼을 따라하며 빌드할 수 있는 실습 프로젝트:
| 프로젝트 | 관련 페이즈 | 난이도 | 사용 기술 |
|———|———–|——–|———-|
| 스팸 메일 분류기 | Phase 5-6 | ★☆☆ | scikit-learn, TF-IDF |
| 주식 가격 예측 | Phase 7-8 | ★★☆ | LSTM, Prophet |
| 이미지 분류 앱 | Phase 9 | ★★☆ | CNN, PyTorch |
| 챗봇 서비스 | Phase 10 | ★★★ | Transformer, FastAPI |
| 추천 시스템 | Phase 11 | ★★★ | Collaborative Filtering |
| 자율주행 시뮬레이션 | Phase 12 | ★★★☆ | Reinforcement Learning |
| RAG 파이프라인 | Phase 12 | ★★★★ | LangChain, Vector DB |
제한사항 #
scratch도 완벽하지 않습니다의 인공지능 공학:
시간 소요: 12개 페이즈를 완료하려면 최소 3-6개월 필요
영어 콘텐츠: 모든 레슨이 영어로 제공됨
GPU 필요: 딥러닝 페이즈는 GPU 환경 권장
자기 주도 학습: 강의 vídeo가 없으므로 자기 주도 학습 능력 필요
최신성: 레포지토리가 활발히 업데이트되지만, 일부 레슨이 오래되었을 수 있음
환경 문제: 로컬 GPU가 없는 경우 Google Colab 의존도가 높아짐
프로젝트 범위: 각 레슨의 프로젝트가 교육용으로 단순화되어 있어 프로덕션 수준의 복잡도를 완전히 반영하지는 않음
자주 묻는 질문 #
Q: 처음부터 처음부터 처음부터 끝까지 는 정말 무료인가요?? A: 네, 완전히 무료입니다. MIT 라이선스로 오픈소스이며, 상업적 사용도 가능합니다.
Q: 어떤 사전 지식이 필요한가요??
A: Phase 0부터 시작한다면 프로그래밍 기초 지식만 있으면 됩니다. Python을 조금 알아도 좋습니다.
Q: GPU가 없으면 Deep Learning을 배울 수 없나요??
A: 구글 콜라브 이나 카글 노트북 을 사용하면 무료 GPU 를 사용할 수 있습니다.
Q: 한국어로 된 자료가 있나요?? A: 현재는 영어만 제공됩니다. 하지만 AI 에이전트 스킬을 통해 한국어 번역을 유도할 수 있습니다.
Q: 수료증이 있나요?? A: 아니요, 수료증은 제공되지 않습니다. 대신 각 레슨을 완료하면 실제로 빌드한 프로젝트 포트폴리오가 생깁니다.
Q: 에이전트 메모리 는 무엇인가요??
A: 로힛의 이전 프로젝트로, AI 에이전트의 지속적 메모리를 제공합니다. ai-engineering-from-scratch와 자연스럽게 연동됩니다.
Q: 어느 정도 시간이 필요한가요??
A: 주 10-15시간 학습 기준으로 Phase 0-6까지 약 2-3개월, 전체 12페이즈 완료까지 4-6개월이 소요됩니다.
Q: 커리큘럼을 순서대로 따라야 하나요??
A: 필수는 아닙니다. 배경 지식에 따라 원하는 페이즈부터 시작해도 됩니다. 다만 Phase 0은 권장합니다.
결론 #
ai-engineering-from-scratch는 AI 엔지니어링 학습의 표준이 될 도구입니다. 12개 페이즈, 100개 이상의 레슨, 각 레슨마다 실습 프로젝트 — 이 모든 것이 무료입니다.
특히 **“Learn it. Build it. Ship it for others.”**라는 철학이 좋습니다. 단순히 지식을吸收하는 것이 아니라, 실제로 무언가를 만들고, 다른 사람과 공유합니다. 이것이 진정한 학습입니다.
32,000개의 별은 이 커리큘럼이 많은 학습자에게 필요하다는 증거입니다. AI 엔지니어링을 배우고 싶다면, 여기서 시작하세요. 오늘 시작하면 6개월 후에는 완전히 다른 개발자가 되어 있을 것입니다.
CI/CD 파이프라인, Kubernetes 배포, LoRA 파인튜닝, 모델 벤치마킹 등 프로덕션 수준의 기술을 단계별로 배울 수 있다는 점이 이 커리큘럼의 진정한 가치입니다.
Sources & Further Reading:
공식 문서: https://github.com/rohitg00/ai-engineering-from-scratch
GitHub 저장소: https://github.com/rohitg00/ai-engineering-from-scratch
에이전트 메모리: https://github.com/rohitg00/agentmemory
면책(Disclosure): 본 문서에는 아마리트이션 관계가 있을 수 있는 도구가 언급되어 있습니다. 긍정적인 리뷰를 위해 대가를 받지 않습니다. 모든 벤치마크는 자체 수행하거나 공식 문서에서 sourced되었습니다.
💬 댓글 토론