전체 글 347

Mac에서 파인튜닝: LoRA 예제를 MLX로 돌려 보기 [LLM 엔지니어링5]

이 글은 범용 LLM을 특정 도메인에 맞게 최적화하는 세 가지 대표적인 방법에 대한 기록입니다. 저도 직접 공부하고 정리하면서 헷갈렸던 부분들을 최대한 직관적으로 풀어보려 노력했습니다. - Kubernetes for Generative AI Solutions, Chapter 4 에서 나온 RAG예제에 이어서 파인튜닝을맥에서 직접 돌려봤습니다.첫 글에서 도메인 특화의 세 갈래(프롬프트, RAG, 파인튜닝)를 봤고, "파인튜닝이 Mac에서 진짜 돌아가는지는 별도 글에서 다룬다"고 미뤄 뒀다. 이번 글이 그 약속을 갚는다. 책 Chapter 4의 파인튜닝 예제(Llama-3 8B를 LoRA로, 로열티 FAQ에 맞게 학습)를 가져와, 클라우드 GPU 대신 Apple Silicon Mac에서 Apple MLX로 ..

> Tech 2026.06.02

임베딩 모델의 한계 돌파: 하이브리드 검색과 리랭킹 파이프라인 [LLM 엔지니어링4]

이 글은 범용 LLM을 특정 도메인에 맞게 최적화하는 세 가지 대표적인 방법에 대한 기록입니다. 저도 직접 공부하고 정리하면서 헷갈렸던 부분들을 최대한 직관적으로 풀어보려 노력했습니다. - Kubernetes for Generative AI Solutions, Chapter 4 에서 나온 RAG예에서 RAG 성능을 올리는 방법들이 여러 가지 있길래 한번 적용해 봤습니다.지난 글에서 임베딩 모델을 바꾸자 검색 품질이 크게 달라졌다. 같은 질의, 같은 k인데 OpenAI의 ada-002는 캐주얼 셔츠를 섞어 왔고, Qwen3-Embedding-4B는 5개 모두 의도(4조건)에 맞는 포멀 셔츠를 가져왔다.그러면 좋은 임베딩으로 갈아타는 것 말고 다른 길은 없을까. 임베딩은 ada-002로 묶어 둔 채, 검색 ..

> Tech 2026.05.30

RAG 검색 품질 고도화: 임베딩 선택, Top-K 튜닝, 그리고 질의 최적화 [LLM 엔지니어링3]

이 글은 범용 LLM을 특정 도메인에 맞게 최적화하는 세 가지 대표적인 방법에 대한 기록입니다. 저도 직접 공부하고 정리하면서 헷갈렸던 부분들을 최대한 직관적으로 풀어보려 노력했습니다. - Kubernetes for Generative AI Solutions, Chapter 4 에서 나온 RAG예제에서 어떻게하면 더 좋은 결과를 얻을 수 있지가 궁금해서 더 테스트 해봤습니다.지난 글에서 같은 RAG에 LLM만 OpenAI에서 Claude로 바꿔 봤다. 답이 꽤 달라졌다. 그런데 거기엔 한 가지 찜찜함이 남는다. 두 모델 모두 똑같은 5개 후보를 받았고, 그 5개 중 상품명에 "Formal"이 박힌 건 3번째 제품 단 하나뿐이었다. 만약 검색이 더 좋은 후보를 가져왔다면, LLM을 안 바꿔도 답이 좋아지지..

> Tech 2026.05.28

베이스라인 RAG 구현: 같은 검색, 다른 응답(gpt-3.5 vs Haiku 4.5) [LLM 엔지니어링2]

이 글은 범용 LLM을 특정 도메인에 맞게 최적화하는 세 가지 대표적인 방법에 대한 기록입니다. 저도 직접 공부하고 정리하면서 헷갈렸던 부분들을 최대한 직관적으로 풀어보려 노력했습니다. - Kubernetes for Generative AI Solutions, Chapter 4 에서 나온 RAG예제에서 조금 더 궁금한 점이 많아 이것저것 테스트 해봤습니다.앞 글에서 도메인 특화의 세 가지 방법(프롬프트, RAG, 파인튜닝)을 다뤘고, 그중 가장 자주 쓰이는 RAG를 이번 글에서 코드로 구현한다. 셔츠 12,491개를 벡터 DB에 적재하고, 자연어 질의로 추천 후보를 검색해 LLM이 정리하는 챗봇이다.앞부분은 코드를 한 조각씩 따라가며 RAG를 구현한다. 뒷부분은 같은 RAG에서 LLM만 OpenAI(gp..

> Tech 2026.05.28

도메인 특화 LLM을 위한 세 가지 접근법: 프롬프트, RAG, 파인튜닝 [LLM 엔지니어링1]

이 글은 범용 LLM을 특정 도메인에 맞게 최적화하는 세 가지 대표적인 방법에 대한 기록입니다. 저도 직접 공부하고 정리하면서 헷갈렸던 부분들을 최대한 직관적으로 풀어보려 노력했습니다. 주요 내용은 - [Kubernetes for Generative AI Solutions, Chapter 4] 에서 가져왔습니다.앞 글에서 프롬프트로 LLM에 작업을 시키는 단계까지 다뤘다. 잘 구성한 프롬프트에 zero-shot, few-shot 예시 몇 개를 더하면 상당수 작업을 처리할 수 있다.그러나 다음 상황에서는 프롬프트만으로 한계에 부딪힌다.우리 회사 사내 위키 내용을 모델이 알았으면 좋겠다.의료, 법률처럼 일반 LLM이 잘 모르는 도메인 용어로 답했으면 좋겠다.모델이 학습된 시점 이후에 바뀐 정책을 반영했으면 ..

> Tech 2026.05.26

LLM에게 일 시키는 법: 프롬프트와 추론 파라미터 [LLM 기본2]

이전 글에서 Transformer(단어 사이의 관계를 계산하는 신경망 구조)가 어휘 전체에 대한 확률 분포(각 후보가 나올 가능성을 모두 모은 값)를 만드는 과정을 봤다. 이 글의 핵심은 사람이 LLM을 다룰 때 먼저 프롬프트와 추론 파라미터를 조정한다는 점이다.추론 파라미터는 모델을 호출할 때마다 사용자가 바꾸는 설정값이다. 가중치(weight, 학습으로 모델 안에 저장된 숫자)는 바꾸지 않는다. 모델 자체는 그대로 둔다. 출력의 길이와 무작위성만 달라진다.1. 용어: prompt, completion, context windowLLM을 제대로 다루기 위해 먼저 다음 5가지 필수 용어를 알아야한다.Token (토큰): AI가 텍스트를 읽고 처리하는 가장 작은 조각 (단어 또는 글자 단위).Prompt ..

> Tech 2026.05.25

LLM은 어떻게 다음 단어를 고를까? [LLM 기본1]

0. AI / ML / DL / GenAIAI, ML, DL, GenAI는 서로 다른 기술이 아니라 포함 관계다. AI가 가장 넓고, 그 안에 ML, ML 안에 DL이 있다. GenAI는 그중 "새 결과물을 만드는" 쪽이다.AI(Artificial Intelligence, 인공지능): 사람의 지능이 필요해 보이는 일을 처리하는 시스템 전체. if-else(조건에 따라 동작을 나누는 규칙문)로 규칙을 직접 짠 프로그램도 AI다.ML(Machine Learning, 머신러닝): 규칙을 사람이 적지 않고 데이터에서 패턴을 스스로 찾게 하는 방식. "고양이는 이렇게 생겼다"를 코드로 쓰는 대신, 고양이 사진 수만 장을 보여 주고 모델(입력을 받아 예측·생성을 하는 계산 규칙)이 특징을 찾게 한다.DL(Deep ..

> Tech 2026.05.25

MinIO 풀 확장 및 리밸런싱

개요 및 기본 구성이번 글에서는 Vagrant에서 DirectPV와 MinIO를 구성해서 직접 파일을 올려보고, 물리 디스크를 추가해서 추가 풀을 생성하고 리밸런싱까지 진행해보도록 하겠습니다.Cloudnet@ MinIO 스터디를 진행하면서 정리한 글입니다. 스터디에서 제공받은 실습과는 다를 수 있습니다.Vagrantfile10.5GiB 가상 디스크 4개(minio_disk_*)는 초기 풀에 사용합니다.minio_newdisk_* 디스크는 나중에 VirtualBox에서 수동으로 VM에 장착해 풀 확장에 사용합니다.Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-24.04" config.vm.provider "virtualbox" do ..

> Tech 2025.09.19

MinIO DirectPV PVC 테스트 (vagrant/k3s)

개요 및 기본구성개요DirectPV를 직접 구성하고 테스트를 해보고 싶어서 로컬에서 빠르게 삭제하고 다시 올릴 수 있는 Vagrant를 사용했습니다.DirectPV를 통해서 nginx pod의 log 경로를 directpv를 통해 스토리지를 연결하는 것을 테스트해보려고 합니다.Coudnet@ MinIO 스터디를 진행하면서 정리한 글입니다. 스터디에서 제공받은 실습과는 좀 다를 수 있습니다.VagrantfileDirectPV 가상 테스트 환경 관련kind로 시도했으나 directpv install 후 node-server의 node-controller 파드에서 status.devices 오류로 기동되지 않았습니다.E0917 15:54:08.970761 2706 main.go:148] "unable t..

> Tech 2025.09.18

MinIO DirectPV 소개 및 설치

DirectPV 소개MinIO DirectPV는 쿠버네티스 환경에서 직접 연결된 스토리지(DAS: Direct Attached Storage)를 효율적으로 관리할 수 있게 해주는 Container Storage Interface(CSI) 드라이버입니다. 이 솔루션은 기존의 네트워크 스토리지 시스템 대신 노드의 로컬 디스크를 활용하여 높은 성능과 안정성을 제공합니다. DirectPV는 StorageClass로 동적 프로비저닝되어, 애플리케이션에서는 영구 볼륨 클레임(PVC)으로 사용할 수 있습니다.MinIO 스터디를 진행하며 정리한 내용으로, 스터디 실습과 일부 다를 수 있습니다.주요 특징Kubernetes CSI 표준 준수로컬 디스크의 직접 활용으로 높은 I/O 성능분산 환경에서의 통합된 스토리지 관리X..

> Tech 2025.09.18