전체 글 (217) 썸네일형 리스트형 [솔루션에 AI 붙이기 ②] AI는 어떻게 계획을 세우고 일하나 시리즈① 싸게 돌리려던 RAG, 왜 다시 만들었나 ② AI는 어떻게 계획을 세우고 일하나 ← 지금 글 들어가며1편에서는 "코드가 모델 대신 판단하는 구조"를 버린 이유를 썼습니다.핵심은 세 가지입니다.모델에게 무엇을 넘기나 — 컨텍스트와 프롬프트모델은 어떻게 행동하나 — 도구와 루프여러 단계 작업은 어떻게 계획하나 — 절차서(playbook)와 Plan 모드1. 전체 그림: 루프 하나, 도구 여럿 화면의 AI 패널 ──SSE──▶ 에이전트 루프 (1개) │ ▲ │ 모델이 도구를 고른다 (tool_choice: auto) │ │ 도구 결과 ▼ │ └── 화면 도구 ◀── tool_use 서버 도구 │ (차트.. [솔루션에 AI 붙이기 ①] 싸게 돌리려던 RAG, 왜 다시 만들었나 시리즈① 싸게 돌리려던 RAG, 왜 다시 만들었나② AI는 어떻게 계획을 세우고 일하나들어가며사내 BI 솔루션에 AI 기능을 붙인 지 반년쯤 됐습니다. 첫 버전(1.0.3)과 지금 버전(1.1.0)을 비교하면 같은 제품이라고 하기 어려울 만큼 구조가 다릅니다.이 글은 첫 버전을 왜 그렇게 만들었는지, 그리고 왜 결국 다시 만들었는지를 정리한 회고입니다. 결론을 먼저 말씀드리면 이렇습니다.모델이 약하다는 가정으로 코드가 모델의 판단을 대신하게 만들었더니, 모델이 아무리 좋아져도 제품은 좋아지지 않았습니다.1. 출발점: "싸게, 어디서나 돌아가야 한다"1.0.3을 설계할 때 가장 중요하게 본 것은 가격 경쟁력이었습니다.BI 솔루션 고객 상당수가 공공·금융처럼 폐쇄망입니다. 외부 API를 못 쓰면 사내 서버에.. PyTorch - (2) Models 1. Neural Network 모델 만들기PyTorch에서는 nn.Module을 상속받아 신경망 모델을 정의합니다.모델의 구조는 __init__()에서 정의하고,입력 데이터가 어떤 순서로 각 계층을 통과할지는 forward()에서 정의합니다.import torchfrom torch import nn# 사용할 디바이스를 확인합니다.# GPU(CUDA 등)를 사용할 수 있으면 GPU를 사용하고,# 사용할 수 없다면 CPU를 사용합니다.device = torch.accelerator.current_accelerator().type \ if torch.accelerator.is_available() else "cpu"# 신경망 모델 정의# nn.Module을 상속받아 PyTorch 모델로 만듭니다.cla.. PyTorch - (1) 기초, Tensor, Dataset 1. PyTorch 기초소형 AI 모델을 직접 만들어보기 위해 먼저 PyTorch의 기본적인 사용 방법을 알아보자.PyTorch 공식 문서의 Quickstart는 실제 머신러닝의 전체 흐름을 하나의 예제로 보여준다.공식 튜토리얼의 흐름은 다음과 같다.Dataset ↓DataLoader ↓Model ↓Prediction ↓Loss ↓Backpropagation ↓Optimizer ↓Parameter Update ↓Evaluation ↓Save / Load이 글에서는 단순히 코드를 따라 치는 것보다 각 코드가 왜 필요한지, 그리고 코드에 등장하는 인자와 Tensor의 Shape이 무엇을 의미하는지까지 이해하는 것을 목표로 한다.※ PyTorch란? - Tensor 연산, 자동.. LoRA(Low-Rank Adaptation) 1. LoRA 란?LoRA는 대규모 모델을 효율적으로 파인튜닝하기 위한 기법입니다. 핵심 아이디어는 간단합니다.모델을 파인튜닝한다는 것은 결국 원래 가중치(weight)를 얼마나, 어떻게 바꿀지를 학습하는 과정입니다. LoRA는 이 "가중치의 변화량"을 직접 통째로 학습하는 대신, 저랭크 분해(Low-Rank Decomposition)를 이용해 훨씬 작은 두 개의 행렬(업데이트 행렬, update matrices)의 곱으로 표현합니다.즉,원래의 가중치 행렬은 그대로 동결(freeze)되어 추가 학습을 받지 않습니다.새로 추가된 작은 두 행렬만 학습 대상이 되며, 이 행렬들이 새로운 데이터에 맞춰 모델을 적응시키는 역할을 합니다.학습이 끝나면, 원래 가중치와 새로 학습된 저랭크 행렬의 곱을 더해서 최종 가.. 혼자서 소형 AI 모델 만들어보기 EndToEnd - (1) 레퍼런스 및 기술 선정 PyTorch 기초PyTorch Learn the BasicsTensorsDatasets & DataLoadersBuild ModelAutogradOptimizationSave & Load ModelTransformer 기초PyTorch Transformer Building BlocksEmbeddingSelf-AttentionMulti-Head AttentionTransformer BlockCausal MaskTokenizer 구축Hugging Face Tokenizers CourseBPEWordPieceUnigramCustom Tokenizer TrainingTokenizer Save/LoadDataset 구축 / 전처리Hugging Face Datasets CourseDataset LoadDatase.. 프롬프트 엔지니어링이란? OpenAI·Claude 공식 문서로 알아보는 실전 Prompt 설계 방법(2) 하지만 실제 AI 서비스를 개발하다 보면 단순한 Prompt만으로 해결하기 어려운 문제가 등장한다.예를 들어 다음과 같은 요청을 생각해보자.최근 매출 데이터를 분석하고매출이 감소한 원인을 찾아서관련된 보고서를 참고한 뒤문제가 있다면 BI 시스템에서 새로운 분석 화면까지 만들어줘.이 요청은 단순한 질문이 아니다.실제로는사용자 요청 ↓문제 분석 ↓작업 분해 ↓필요한 데이터 탐색 ↓분석 ↓결과 검증 ↓BI 기능 실행 ↓최종 결과 생성과 같은 여러 단계의 작업이 필요하다.따라서 복잡한 AI 시스템에서는 단순히 "좋은 Prompt를 작성하는 것"만으로는 부족하다.Prompt가 어떤 정보를 받아야 하는지,어떤 순서로 문제를 처리해야 하는지,현재까지 어떤 작업이 수행되었는지,어떤 결과를 신.. 프롬프트 엔지니어링이란? OpenAI·Claude 공식 문서로 알아보는 실전 Prompt 설계 방법(1) 1. 프롬프트 엔지어링LLM이 특정 목적에 맞는 결과를 일관되게 생성하도록 입력과 지시사항을 설계하고 최적화하는 과정LM을 사용하다 보면 같은 모델에 비슷한 질문을 했는데도 결과가 달라지는 경험을 하게 된다.어떤 프롬프트에서는 원하는 결과가 정확하게 나오지만, 조금만 수정하면 엉뚱한 결과가 나오기도 한다.그래서 흔히 프롬프트 엔지니어링을 "LLM에게 질문을 잘하는 방법" 정도로 생각하기 쉽다.하지만 실제로는 조금 더 넓은 개념이다. 2. 프롬프트 엔지니어링은 AI모델에게 요청과 응답에 대한 스키마를 명확하게 정의초기 LLM 활용에서는 다음과 같은 방식으로 프롬프트를 작성하는 경우가 많았다.고객 리뷰를 분석해줘.하지만 실제 서비스에서는 이런 식의 Prompt만으로 충분하지 않다.예를 들어 고객 리뷰를 감.. 이전 1 2 3 4 ··· 28 다음