전체 글
-
Large Language Model에서 Transformer 란?AI ML 2025. 4. 4. 07:37
Transformer는 문장에서 단어들 간의 관계(의미)를 한꺼번에 파악할 수 있게 해주는 딥러닝 모델 구조예요.RNN이나 LSTM처럼 순차적으로 처리하지 않고, 모든 단어를 동시에(병렬로) 처리할 수 있어서 빠르고 정확합니다. Transformer는 Large Language Model(LLM)의 핵심이자, 지금의 ChatGPT나 GPT-4 같은 모델이 존재할 수 있게 해준 기초 기술이에요. Transformer가 등장한 이유기존에는 RNN, LSTM 같은 순환 신경망이 주로 사용됐어요.이들은 단어를 순서대로 처리하면서 문맥을 이해하지만:너무 긴 문장은 앞뒤 연결이 약해짐 (long-term dependency 문제)병렬 처리가 어려움 → 학습 속도 느림그래서 나온 게 바로 "Attention is ..
-
Platform Engineering 이란DevOps 2025. 4. 3. 13:10
개발자 생산성과 운영 효율성을 동시에 챙기기 위한 새로운 접근 방식으로 Platform Engineering이 주목받고 있습니다. Platform Engineering이란?Platform Engineering은 개발자들이 소프트웨어를 더 쉽고, 빠르고, 안정적으로 배포할 수 있도록 돕는 내부 개발 플랫폼(Internal Developer Platform, IDP)을 설계하고 운영하는 역할을 말합니다.핵심 개념은 이거예요:“개발자가 인프라나 배포 과정을 몰라도, 셀프서비스로 빠르게 개발에 집중할 수 있는 환경을 제공하자.”주요 특징:자동화된 셀프서비스 도구 제공→ 개발자가 버튼 하나로 배포하고, 로그 보고, 테스트 환경 만드는 식내부 플랫폼 팀 운영→ 인프라, CI/CD, 보안, 모니터링 등을 하나로 묶어..
-
AI/ML에서 Vector DB 활용AI ML 2025. 4. 2. 22:13
최근 AI, 특히 대형 언어 모델(LLM)의 발전과 함께 Vector Database(벡터 데이터베이스)의 중요성이 크게 주목받고 있습니다. 단순한 텍스트 검색을 넘어서, 의미 기반의 유사도 검색이 가능해지면서 벡터 데이터를 저장하고 빠르게 조회할 수 있는 시스템이 점점 필수가 되어가고 있죠.그렇다면 Vector DB는 실제로 어떤 상황에서, 어떻게 활용될까요? 1. 유사도 검색 (Similarity Search)Vector DB의 대표적인 활용 사례는 유사한 데이터를 빠르게 찾는 것입니다. 예를 들어 이미지를 임베딩 벡터로 변환한 후, 특정 이미지와 가장 비슷한 이미지를 검색하거나, 문장 간의 의미적 유사도를 비교하는 것이 가능합니다.활용 예시:이미지 기반 검색 (비슷한 옷 찾기 등)문장 검색 시스템 ..
-
Kubernetes의 AdmissionReviewKubernetes 2025. 4. 2. 05:00
Kubernetes의 AdmissionReview는 Admission Webhook과 API 서버 사이의 통신에 사용되는 요청/응답 포맷입니다. 간단히 말하면, "Kubernetes가 webhook에게 묻는 질문과 webhook이 보내는 대답"이라고 생각하면 됩니다. AdmissionReview란?AdmissionReview는 Kubernetes API 서버가 외부 Webhook 서버에 리소스 생성/변경 요청을 검사해 달라고 보낼 때 사용하는 구조체입니다.Webhook 서버는 이 요청을 분석하고, 허용할지 거부할지 결정한 후 응답합니다.구성요소:AdmissionReview.Request: API 서버가 보내는 요청 정보AdmissionReview.Response: Webhook 서버가 응답하는 승인/거부..
-
CRD에 대해 Webhook을 통한 유효성 검증Kubernetes 2025. 4. 2. 04:56
CRD에 대한 Webhook은 보통 다음 두 가지 용도로 사용됩니다:Validation Webhook – 리소스의 생성/수정 요청이 유효한지 검사Mutation Webhook – 리소스를 자동으로 수정(default 값 설정 등) 왜 Webhook Validation을 사용할까?기본적으로 CRD의 유효성 검증은 OpenAPI v3 Schema로 처리할 수 있지만,복잡한 조건 (예: 필드 간 종속성, 외부 리소스 검사 등)은 Webhook을 통해 동적으로 처리할 수 있습니다.예를 들어:spec.replicas는 1 이상이어야 한다spec.env 값이 prod일 때는 spec.logging이 필수다특정 필드가 UUID 형식인지 검사이런 복잡한 로직은 오직 Validation Webhook으로만 가능합니다. ..
-
CRD 리소스에서 Optimistic Concurrency Control(OCC) 구현Kubernetes 2025. 4. 2. 04:20
Kubernetes는 분산 환경에서 여러 클라이언트가 동시에 리소스를 수정할 수 있기 때문에, 충돌 관리가 중요합니다. 이를 해결하기 위해 Kubernetes는 Optimistic Concurrency Control(OCC) 방식을 사용합니다.이 글에서는 CRD(Custom Resource Definition) 리소스에서도 OCC를 어떻게 구현하고 사용하는지, 그리고 실제 Go 코드로 어떻게 처리하는지 알아보겠습니다. OCC란?OCC(낙관적 동시성 제어)는 "충돌이 자주 일어나지 않을 것"이라고 가정하고,리소스를 수정할 때마다 현재 버전(resourceVersion)을 확인하여 충돌 여부를 판단하는 방식입니다.최신 버전일 경우 → 정상 업데이트버전 불일치 시 → 409 Conflict 오류 발생 → 재시..
-
Kubernetes의 Optimistic Concurrency Control (OCC)Kubernetes 2025. 4. 2. 04:10
Kubernetes의 Optimistic Concurrency Control (OCC*은 여러 클라이언트가 동시에 리소스를 수정하려고 할 때 충돌을 방지하기 위한 방법입니다. Kubernetes는 분산 시스템이기 때문에 여러 사용자가 같은 리소스를 동시에 수정할 수 있는데, 이때 낙관적(optimistic) 접근으로 충돌을 감지하고 처리합니다. 핵심 개념: metadata.resourceVersion모든 Kubernetes 리소스에는 metadata.resourceVersion이라는 필드가 존재합니다.이 값은 해당 리소스가 변경될 때마다 변경되는 버전 번호입니다.apiVersion: v1kind: ConfigMapmetadata: name: my-config resourceVersion: "12345..
-
Kubernetes API 서버에서 "Lock"을 관리하는 방법Kubernetes 2025. 4. 2. 04:05
Kubernetes API 서버에서 "Lock"을 관리하는 방법은 주로 Leader Election, Coordination API, 그리고 ResourceVersion 기반 동시성 제어를 통해 이루어집니다. 1. Leader Election (리더 선출)Kubernetes에서 여러 컨트롤러나 프로세스 중 하나만 특정 작업을 수행해야 할 때 leader election이 필요합니다.동작 방식Kubernetes의 client-go 라이브러리는 leader election 기능을 제공합니다.특정 리소스(예: ConfigMap 또는 Lease)를 이용해 리더를 정하고 상태를 주기적으로 갱신합니다.사용되는 리소스과거: ConfigMap, Endpoints현재(권장): Lease (Coordination API ..