AI 관련 용어 정리 1
MLOps
MLOps(Machine Learning Operations)는 머신러닝(ML) 모델 개발과 운영(Operations)을 통합하여 효율적이고 자동화된 워크플로를 만드는 방법론입니다. 머신러닝 모델을 개발, 배포, 모니터링하고 재학습하는 전체 수명 주기를 관리하며, 데이터 관리, 실험 추적, 모델 학습 및 배포 등 다양한 단계를 포괄합니다. 이는 데브옵스(DevOps)의 원칙을 머신러닝에 적용한 것으로, 개발과 운영의 협업을 강화하고, 모델의 안정성과 확장성을 높이며, 더 빠른 가치 창출을 목표로 합니다.
MLOps의 주요 목표
- 자동화: 모델 개발, 테스트, 배포 과정을 자동화하여 효율성을 높입니다.
- 통합: 머신러닝 개발(Dev)과 운영(Ops)을 하나로 통합하여 협업을 강화합니다.
- 안정성: 모델의 지속적인 통합, 테스트, 배포를 통해 안정성과 확장성을 보장합니다.
- 효율성: 반복 작업을 자동화하여 데이터 과학자들이 모델 개발과 혁신에 더 집중할 수 있게 합니다.
- 지속적인 개선: 모델의 성능을 지속적으로 모니터링하고, 필요에 따라 재학습하여 최적의 상태를 유지합니다.
MLOps의 주요 구성 요소
- 데이터 관리: 데이터 전처리, 파이프라인 구축 등 데이터를 효율적으로 관리합니다.
- 실험 관리: 여러 모델의 실험 결과를 기록하고 관리하여 최적의 모델을 찾습니다.
- 모델 학습 및 검증: 데이터를 기반으로 모델을 학습시키고, 성능을 검증합니다.
- 배포 및 서빙: 학습된 모델을 서비스 환경에 배포하고, 사용자 요청을 처리합니다.
- 모니터링: 배포된 모델의 성능을 지속적으로 감시하고 피드백을 수집합니다.
서드 파티(Third Party)
제3자를 의미하며, 특정 제품이나 서비스 개발의 주체(퍼스트 파티)와 직접적인 관계가 없는 외부 회사나 개발자를 뜻합니다. 예를 들어, 운영체제 개발사가 아닌 다른 회사가 개발한 앱, 혹은 다른 웹사이트가 제공하는 기능이나 서비스 등이 서드 파티에 해당합니다.
생성형 AI
텍스트, 이미지, 음악, 코드 등 새로운 콘텐츠를 스스로 만들어내는 인공지능의 한 분야입니다. 이는 방대한 양의 데이터를 학습한 후, 사용자의 지시(프롬프트)에 따라 학습한 내용을 기반으로 창의적인 결과물을 생성합니다. 텍스트 생성에는 ChatGPT, 이미지 생성에는 DALL-E와 같은 모델이 대표적입니다.
완전 관리형 도구 : 사용자가 인프라를 직접 운영하고 관리할 필요 없이, 제공 업체가 서비스의 배포, 운영, 유지보수, 확장 등 모든 부분을 자동화하고 책임지는 서비스입니다. 사용자는 최소한의 운영 부담으로 특정 기능이나 서비스에 집중할 수 있으며, 클라우드 기반 서비스에서 흔히 찾아볼 수 있습니다.
Colab Enterprise는 Google Cloud의 보안 및 규정 준수 기능이 포함된 공동작업을 위한 관리형 노트북 환경
MySQL 워크벤치( Workbench)는 SQL 개발과 관리, 데이터베이스 설계, 생성 그리고 유지를 위한 단일 개발 통합 환경을 제공하는 비주얼 데이터베이스 설계 도구이다.
Vertex AI Platform은 데이터 과학자와 ML 엔지니어가 ML 프로젝트를 자동화, 표준화, 관리할 수 있도록 특화된 MLOps 도구를 제공합니다.
SDK는 Software Development Kit의 약자로, 특정 플랫폼을 위한 소프트웨어 개발에 필요한 도구, 라이브러리, 문서 등을 모아놓은 모음입니다. 개발자는 SDK를 사용하여 처음부터 모든 것을 만들지 않고도 기존 기능을 재사용하거나 특정 시스템과 연동하는 애플리케이션을 더 쉽고 빠르게 만들 수 있습니다.
'톨러레이션(toleration)'
'톨러레이션(Toleration)'은 "참음", "견딤", "용인", 또는 "관용"을 의미하는 영어 단어입니다. 일반적인 대화에서는 'tolerance'라는 단어가 더 흔히 사용되며, 'toleration'은 특히 정치적, 종교적 문맥이나 **기술 분야(IT)**에서 전문 용어로 사용됩니다.
1. 일반적인 의미 (관용, 용인)
자신이 동의하지 않거나 싫어하는 신념, 행동, 관행 등을 처벌하거나 방해하지 않고 허용하는 태도나 정책을 말합니다.
ⓐ 사용 예시: "종교적 톨러레이션(Religious toleration)은 자유 사회의 중요한 원칙 중 하나입니다."
2. IT 분야에서의 의미 (쿠버네티스 용어)
클라우드 네이티브 환경, 특히 쿠버네티스(Kubernetes) 오케스트레이션 시스템에서 **'Taint(테인트, 얼룩)'**와 함께 사용되는 핵심 개념입니다.
ⓐ Taint (테인트): 특정 노드(서버)에 "얼룩"이나 "표시"를 남겨, 해당 노드에 특정 종류의 파드(Pod)가 배정되지 않도록 제한하는 설정입니다.
ⓑ Toleration (톨러레이션): 파드(Pod)에 설정하는 속성으로, 특정 노드의 Taint(테인트)를 "용인(견딜 수 있음)"할 수 있다는 것을 나타냅니다.
즉, Taint가 있는 노드에는 기본적으로 파드가 스케줄링되지 않지만, 해당 Taint와 일치하는 Toleration을 가진 파드만 그 노드에 배치될 수 있습니다. 이는 시스템 관리자가 특정 노드를 특정 목적으로 예약하거나, 문제가 있는 노드에 일반 파드가 배정되지 않도록 제어할 때 사용됩니다.
인공지능 (AI)에서의 그라운딩
AI 분야에서 그라운딩은 추상적인 언어나 개념을 실제 현실 세계의 데이터와 연결하는 과정을 의미합니다.
- 목적: AI, 특히 거대 언어 모델(LLM)이 현실에 대한 정확한 이해를 바탕으로 답변하도록 하여, '환각(hallucination)' 현상을 줄이고 신뢰도를 높입니다.
- 예시:
ⓐ 검색 증강 생성(RAG): LLM이 사용자의 질문에 답할 때, 사전에 정의된 특정 데이터베이스나 문서에서 관련 정보를 찾아 이를 근거로 답변을 생성하도록 합니다.
ⓑ 비전-언어 모델: "책상 위의 빨간 컵"이라는 언어를 실제 이미지나 영상 속 특정 사물과 일치시킵니다.
프로비저닝
사용자가 요청한 IT 자원(서버, 스토리지, 소프트웨어 등)을 사용 가능한 상태로 준비하고 할당하는 과정입니다. 이는 서버, 운영체제, 애플리케이션, 사용자 계정 등을 설정하고, 필요한 시스템에 액세스할 수 있도록 준비하는 작업을 포함합니다. 목표는 요청에 맞춰 신속하게 시스템을 제공하여 IT 인프라를 효율적으로 관리하는 것입니다.
마이그레이션(migration)
'마이그레이션(Migration)'은 기본적으로 "이주", "이동"을 뜻하는 영어 단어로, 특히 IT 분야에서 특정 대상(데이터, 시스템, 애플리케이션 등)을 한 환경에서 다른 환경으로 옮기는 과정을 의미합니다. 이는 일반적으로 더 나은 성능, 효율성, 보안 또는 비용 절감을 위해 수행됩니다.
주요 마이그레이션 유형은 다음과 같습니다.
주요 마이그레이션 유형
- 데이터 마이그레이션 (Data Migration): 데이터를 한 스토리지 시스템, 데이터베이스 또는 형식에서 다른 곳으로 이동하는 것입니다. 예를 들어, 기존 데이터베이스(Oracle, MySQL 등)에서 새로운 데이터베이스로 데이터를 옮기는 작업이 포함됩니다.
- 클라우드 마이그레이션 (Cloud Migration): 애플리케이션, 데이터, IT 리소스 전체를 기존의 온프레미스(On-premise) 데이터 센터에서 클라우드 기반 인프라로 이전하는 과정을 말합니다.
- 애플리케이션 마이그레이션 (Application Migration): 기존 애플리케이션을 새로운 운영 체제나 플랫폼(예: 레거시 시스템에서 클라우드 네이티브 솔루션으로)으로 옮기거나 업그레이드하는 것을 의미합니다.
- 시스템/OS 마이그레이션 (System/OS Migration): 운영 환경이나 시스템 전체를 새로운 버전이나 다른 OS로 전환하는 것입니다.
이 단어는 기술적인 용어이지만, 비유적으로 사람들의 대규모 이동(예: 철새의 이동)을 설명할 때도 사용됩니다.
온프레미스(On-premises)
서버나 소프트웨어 같은 모든 IT 인프라를 클라우드와 같이 외부에 두는 것이 아니라, 기업이나 조직 **자체 시설(구내)**에 직접 설치하고 운영, 관리하는 방식을 의미합니다. 'On-premises'가 올바른 영어 표현이며, 줄여서 '온프렘(On-prem)'이라고도 부릅니다.
| 특징 | 온프레미스 (On-premises) | 클라우드 (Cloud) |
|---|---|---|
| 위치 및 소유권 | 사내/자체 데이터 센터에 물리적으로 설치, 자체 소유 및 관리 | 인터넷을 통해 외부 공급업체(AWS, Azure 등)의 원격 서버 이용 |
| 초기 비용 | 서버, 네트워크 장비 구매 등으로 초기 투자 비용이 높음 | 사용한 만큼 비용 지불(월 과금 방식 등), 초기 비용 부담이 적음 |
| 보안 및 제어 | 기업이 모든 시스템과 데이터에 대한 완벽한 제어권 및 보안 책임 보유 | 공급업체와 고객 간의 공동 책임, 제어권 일부 위임 |
| 확장성 | 확장 시 물리적 장비 조달, 설치 시간이 필요해 유연성이 낮음 | 필요에 따라 IT 자원을 빠르게 확장/축소 가능 |
장점 및 단점
장점:완벽한 보안 통제: 민감한 데이터를 외부 인터넷망과 분리하여 관리할 수 있어 보안 수준이 높습니다.
ⓐ 맞춤형 구성: 하드웨어 및 소프트웨어 구성을 원하는 대로 완벽하게 사용자 정의할 수 있습니다.
ⓑ 안정적인 운영: 자체 서버 기반이므로 외부 네트워크 문제의 영향을 덜 받으며 안정적인 환경에서 운영됩니다.
단점 : 높은 초기 비용: 초기 구축 비용 부담이 큽니다.
ⓐ . 유지보수 부담: 시스템 설계부터 구축, 지속적인 운영 및 유지보수까지 전적으로 내부 IT 팀이 담당해야 합니다.
ⓑ . 확장성 제약: 비즈니스 성장에 따른 용량 확장이 유연하지 않습니다.
온프레미스는 강력한 보안이 요구되거나 특정 규제 준수가 필요한 금융권, 공공 기관 등에서 여전히 중요한 방식으로 사용되며, 최근에는 클라우드와 온프레미스를 혼합한 하이브리드 클라우드 전략도 많이 채택되고 있습니다.
'엔드포인트'
문맥에 따라 컴퓨터 네트워크에 연결되는 디바이스 (예: PC, 스마트폰)이거나, API의 특정 URL 경로 (예: /users/123)를 의미합니다. 또한 임상시험에서 측정하는 최종 기준 (예: 증상 완화)을 가리키기도 합니다.
엔드포인트 보안
이러한 디바이스를 사이버 위협으로부터 보호하는 보안 분야를 말합니다. 공격자는 취약한 엔드포인트를 통해 네트워크에 침입할 수 있기 때문에, 엔드포인트 보안은 필수적입니다.
SDK( Software Development Kit)
특정 플랫폼을 위한 소프트웨어 개발에 필요한 도구, 라이브러리, 문서 등을 모아놓은 모음입니다. 개발자는 SDK를 사용하여 처음부터 모든 것을 만들지 않고도 기존 기능을 재사용하거나 특정 시스템과 연동하는 애플리케이션을 더 쉽고 빠르게 만들 수 있습니다.
SDK의 주요 구성 요소
- 코드 라이브러리: 자주 사용되는 코드를 미리 만들어 놓은 것입니다.
- 컴파일러 및 디버거: 작성한 코드를 컴퓨터가 이해할 수 있는 형태로 변환하고 오류를 찾아 수정하는 도구입니다.
- API(Application Programming Interface): 특정 기능을 사용하기 위한 약속으로, 외부 서비스와 통신할 수 있도록 돕습니다.
- 문서 및 예제 코드: SDK 사용법을 익힐 수 있는 설명서와 예제 코드를 제공합니다.
- 개발 도구: 통합 개발 환경(IDE)과 같이 개발 과정을 돕는 다양한 도구를 포함할 수 있습니다.
API (Application Programming Interface)의 정의와 종류
**API (Application Programming Interface)**는 응용 프로그램 프로그래밍 인터페이스의 약자입니다. 간단히 말해, 서로 다른 소프트웨어 시스템이 상호 작용하고 정보를 교환할 수 있도록 정의된 규칙, 프로토콜 및 도구의 집합입니다.
API는 한 시스템이 다른 시스템의 기능이나 데이터에 접근하는 방법을 표준화하여, 개발자가 복잡한 내부 코드를 알 필요 없이 쉽게 통합할 수 있게 해줍니다.
API의 정의
API는 다음과 같은 역할을 수행하는 '계약' 또는 '중개자'로 이해할 수 있습니다.
- 중개자 역할: 사용자(클라이언트)가 요청하는 것을 받아 필요한 시스템(서버)에 전달하고, 서버의 응답을 다시 사용자에게 전달하는 중간 다리 역할을 합니다.
- 추상화: API는 내부 시스템이 어떻게 작동하는지(구현 방식)를 숨기고, 개발자가 사용할 수 있는 **기능(Function)**만 노출합니다.
API의 종류
API는 그 목적, 범위, 그리고 통신 방식에 따라 다양하게 분류될 수 있습니다. 가장 일반적인 분류 기준은 사용 범위와 통신 프로토콜에 따른 분류입니다.
1. 사용 범위에 따른 분류
| 종류 | 정의 | 예시 |
| Private (내부) API | 한 조직 내부에서만 사용됩니다. 팀 간의 통합 또는 내부 시스템 간의 연결에 사용됩니다. | 회사 내부 데이터베이스 접근 API, 모놀리식 아키텍처를 마이크로서비스로 분리할 때 사용되는 API. |
| Partner (파트너) API | 특정 비즈니스 파트너나 고객사 간의 통합을 위해 사용됩니다. 접근 권한이 제한적이며, 비즈니스 협력 관계에 따라 사용됩니다. | 제휴 여행사의 항공권 예약 시스템 접근 API, 물류 회사의 배송 추적 API. |
| Public (공개) API | 외부 개발자나 일반 대중에게 완전히 공개되어 누구나 사용할 수 있습니다. 새로운 비즈니스 생태계를 구축하는 데 활용됩니다. | Google Maps API, Naver Developers API, 공공 데이터 포털 API. |
2. 통신 프로토콜 및 아키텍처에 따른 분류
A. Web API (웹 기반 API)
인터넷(HTTP 프로토콜)을 통해 접근할 수 있는 API로, 오늘날 가장 널리 사용됩니다.
| 종류 | 아키텍처/프로토콜 | 특징 |
| REST (Representational State Transfer) API | **HTTP Method (GET, POST, PUT, DELETE)**를 사용하여 자원(Resource)에 접근하고 조작합니다. 가장 일반적이며 유연합니다. | URL(URI)과 HTTP 동사로 자원 상태를 주고받으며, 보통 JSON 또는 XML 형태로 데이터를 전송합니다. |
| SOAP (Simple Object Access Protocol) API | XML 기반의 프로토콜이며, 엄격한 표준과 보안 기능(WS-Security)을 제공합니다. 복잡한 트랜잭션과 엔터프라이즈 환경에서 주로 사용됩니다. | HTTP뿐만 아니라 SMTP 등 다양한 프로토콜을 사용할 수 있으며, WSDL(Web Services Description Language)을 통해 인터페이스를 정의합니다. |
| GraphQL | 클라이언트가 필요한 데이터 필드를 직접 요청할 수 있는 쿼리 언어입니다. REST와 달리 '덜 가져오기(Under-fetching)'나 '더 가져오기(Over-fetching)' 문제를 줄입니다. | 단일 엔드포인트에 요청을 보내며, 응답 데이터의 구조를 클라이언트가 결정합니다. |
| gRPC | Google에서 개발한 고성능의 오픈 소스 프레임워크입니다. HTTP/2 기반이며, Protocol Buffers를 사용하여 구조화된 데이터를 직렬화합니다. | 마이크로서비스 환경에서 낮은 지연 시간과 높은 처리량을 위해 주로 사용됩니다. |
B. Library/Framework API
특정 프로그래밍 언어의 라이브러리나 프레임워크 내에서 제공되는 API입니다.
- 정의: 개발자가 해당 라이브러리/프레임워크의 기능을 자신의 코드에서 사용할 수 있도록 클래스, 함수, 메서드 등을 제공합니다.
- 예시: Java의
java.util.List인터페이스, Python의 NumPy 라이브러리 함수, 웹 브라우저의 DOM (Document Object Model) API.
'Parser'(문서 파싱)
컴퓨터 프로그램이 입력 데이터를 분석하고 문법적으로 올바른 구조로 만드는 구성 요소를 의미합니다. 이는 사람이 이해하기 어려운 텍스트나 코드에서 원하는 정보를 추출하고, 기계가 이해할 수 있는 구조화된 형태로 변환하는 과정을 수행합니다. 예를 들어, 웹페이지의 HTML 코드를 분석해 원하는 데이터를 추출하거나, 프로그래밍 언어를 컴파일하는 과정에서 문법을 검사하고 트리와 같은 내부 데이터 구조로 만드는 역할을 합니다.
- 주요 역할 구문 분석: 입력받은 텍스트가 특정 언어의 문법 규칙에 맞는지 확인합니다.
- 구조화: 분석된 데이터를 컴퓨터가 처리하기 쉬운 형태의 데이터 구조, 예를 들어 파스 트리(parse tree) 등으로 변환합니다.
- 데이터 추출 및 변환: 복잡한 웹 문서(HTML 등)나 다른 형식의 데이터에서 특정 정보를 추출하여 JSON, CSV 등 원하는 형태로 변환합니다.
- 주요 용도 컴파일러 및 인터프리터: 소스 코드를 기계어 또는 중간 코드로 변환하는 과정의 한 단계로 사용됩니다.
- 웹 스크래핑: 웹페이지에서 데이터를 수집하고 분석하여 원하는 형식으로 가공하는 데 사용됩니다.
- 자연어 처리: 문장을 문법적 요소(명사, 동사 등)로 분해하고 그 관계를 분석하여 기계가 의미를 이해하도록 돕습니다.
- 문서 분석: PDF, Word 문서 등 비정형 데이터를 분석하여 텍스트, 이미지, 표 등을 추출하는 데 활용됩니다.
'세그먼트'
'세그먼트(Segment)'는 기본적으로 "부분" 또는 "분할된 조각"을 의미하는 영어 단어입니다. 이 단어는 사용되는 산업이나 문맥에 따라 구체적인 의미가 달라집니다.
주요 분야별 의미는 다음과 같습니다.
1. 마케팅 및 비즈니스 분야
마케팅에서 세그먼트는 전체 시장이나 고객층을 공통적인 특성, 요구사항, 행동 양식 등에 따라 나눈 작은 하위 그룹을 의미합니다.
- 사용 예시: "연령, 성별, 소득 수준에 따라 고객 세그먼트를 나누어 맞춤형 마케팅 전략을 수립한다."
- 관련 용어: 시장 세분화(Market Segmentation)는 이러한 고객 그룹을 분류하는 과정을 말합니다.
2. 컴퓨터 및 IT 분야
IT 분야에서 세그먼트는 여러 의미로 사용됩니다.
- 메모리 관리: 컴퓨터 메모리에서 프로그램의 코드, 데이터 등을 저장하는 논리적인 기억장치 영역 단위를 말합니다.
- 네트워킹: 대규모 네트워크를 효율성 및 보안상의 이유로 나눈 독립적인 하위 네트워크 단위를 의미합니다.
3. 자동차 분야
자동차 산업에서 세그먼트는 주로 유럽에서 사용되는 자동차 차급 분류 기준을 말합니다. 차체의 길이(전장)에 따라 A 세그먼트(경차), B 세그먼트(소형차), C 세그먼트(준중형차) 등으로 나뉩니다.
4. 기타 분야
- 기하학: 서로 다른 두 점을 잇는 가장 짧은 직선인 선분을 의미합니다.
- 영상/분석: 동영상이나 데이터 분석에서 전체 중 일부분이나 구간을 뜻하기도 합니다.
'세그먼트'라는 단어는 이처럼 다양한 분야에서 **'전체를 구성하는 조각'**이라는 공통된 개념으로 활용됩니다.
코퍼스 파일
은 언어 연구나 자연어 처리(NLP)를 위해 텍스트나 음성 데이터를 컴퓨터가 처리할 수 있는 형태로 모아놓은 거대한 **말뭉치(Corpus)**를 담고 있는 파일입니다. 마치 방대한 언어 데이터베이스와 같아서, 인공지능 모델을 훈련시키거나 언어의 통계적 규칙을 분석하는 데 사용됩니다.
코퍼스 파일의 주요 특징 및 용도
다양한 데이터 포함: 코퍼스 파일은 신문 기사, 책, 블로그 글, 소셜 미디어 게시물, 대화 기록 등 다양한 형태의 텍스트나 음성 데이터를 포함할 수 있습니다.
컴퓨터 처리: 언어 자료를 컴퓨터가 읽을 수 있는 형태로 변환한 것이 특징입니다. 인코딩 방식(예: UTF-8)을 통해 저장되며, 일반적으로 .txt 같은 텍스트 파일 형식으로 만들어집니다.
인공지능 모델 훈련: 자연어 처리 분야에서 인공지능 모델(예: 언어 모델, 챗봇)을 훈련시키는 데 필수적인 학습 데이터 역할을 합니다.
언어학 연구: 특정 언어의 사용 빈도, 문법적 규칙, 단어의 의미 변화 등을 분석하는 언어학 연구에도 활용됩니다.
주석(Annotation): 단순히 텍스트만 포함하는 경우도 있지만, 품사(명사, 동사 등)나 문장 구조와 같은 추가적인 정보를 태그 형태로 붙여놓는 '주석'이 포함되기도 합니다.
청크 처리
전체 데이터를 여러 작은 덩어리(청크)로 나누어 처리하는 방식입니다. 이는 대규모 데이터를 효율적으로 관리하고, 각 청크를 하나의 트랜잭션 단위로 처리하여 오류 발생 시 해당 청크만 롤백할 수 있게 하는 것이 특징입니다. 예를 들어, 대용량 데이터 처리 시스템이나 자연어 처리(NLP)에서 문법 구조에 따라 텍스트를 의미 단위로 나누는 데 사용됩니다.
핵심 개념
덩어리(Chunk): 여러 개의 아이템(데이터)을 묶은 하나의 덩어리 또는 블록입니다.
트랜잭션 단위: 각 청크는 하나의 트랜잭션으로 간주되어, 청크 단위로 커밋(commit) 또는 롤백(rollback)이 수행됩니다.
오류 처리: 한 청크에서 오류가 발생하면 해당 청크만 롤백하고, 이전의 성공적인 청크까지는 이미 반영됩니다.
주요 활용 분야 대용량 데이터 처리: 스프링 배치(Spring Batch)와 같은 프레임워크에서 대규모 데이터를 한 번에 처리하기보다, 청크 단위로 쪼개어 처리하여 메모리 사용량을 최적화하고 안정성을 높입니다.
자연어 처리(NLP): 문법적 구조(구문)나 의미적 특성에 따라 긴 문장이나 텍스트를 작은 단위로 분할합니다.학습 및 기억: 영어 문장처럼 복잡한 정보를 청크 단위로 묶어서 외우면 단순 암기보다 효과적으로 기억하고 활용할 수 있습니다.
응용 예시 스프링 배치: 데이터를 읽고(Reader), 가공하며(Processor), 묶은 청크를 일괄 저장(Writer)하는 방식으로 동작합니다.
대규모 문서 처리: 문서의 레이아웃이나 콘텐츠를 인식하여 의미 단위로 청크를 분할하고, 관련 내용에 대한 검색 및 답변 생성 효율을 높입니다.
게임: 마인크래프트에서는 게임 세계를 16x16 블록 단위의 '청크'로 나누어 게임 세계를 관리합니다.
'트랜잭션(Transaction)'
A 계좌에서 10만 원을 출금하는 작업.
B 계좌에 10만 원을 입금하는 작업.
트랜잭션의 ACID 속성
원자성(Atomicity): 트랜잭션 내의 모든 작업은 전부 실행되거나, 아예 실행되지 않아야 합니다. '모 아니면 도(all-or-nothing)'의 원칙을 따릅니다.
일관성(Consistency): 트랜잭션이 성공적으로 완료되면 데이터베이스는 항상 일관된 상태를 유지해야 합니다. 데이터베이스의 규칙이나 제약 조건이 위반되지 않도록 합니다.
고립성(Isolation): 여러 트랜잭션이 동시에 실행될 때, 각 트랜잭션은 다른 트랜잭션의 작업에 영향을 받지 않고 독립적으로 수행되어야 합니다.
지속성(Durability): 트랜잭션이 한 번 완료(커밋)되면, 그 결과는 시스템 오류나 정전과 같은 문제가 발생하더라도 영구적으로 보존되어야 합니다.
트랜잭션의 상태
커밋(Commit): 트랜잭션 내의 모든 작업이 성공적으로 완료되어 변경 사항을 데이터베이스에 영구적으로 반영하는 과정입니다.
롤백(Rollback): 트랜잭션 실행 중 오류가 발생하여 모든 변경 사항을 취소하고 트랜잭션 시작 이전의 상태로 되돌리는 과정입니다.
트랜잭션의 활용
데이터베이스: SQL 데이터 조작(INSERT, UPDATE, DELETE)을 단일 작업 단위로 묶어 데이터 무결성을 보장합니다.
금융: 은행 계좌 이체, 결제 시스템 등에서 자금 거래의 정확성을 확보합니다.
운영체제: 파일 시스템이나 리소스 할당과 같은 여러 작업을 안전하게 처리하는 데 사용됩니다.
리치 콘텐츠는 텍스트와 단순 이미지를 넘어, 비디오, 오디오, 애니메이션, 그래픽 등 다양한 멀티미디어 요소를 활용하여 사용자의 참여와 상호작용을 유도하는 풍부한 디지털 콘텐츠를 의미합니다. 주로 온라인 광고와 웹사이트, 소셜 미디어 등 다양한 디지털 채널에서 활용됩니다.
마임 타입(MIME type)은 파일의 형식과 성격을 나타내는 식별자로, 인터넷에서 데이터가 어떻게 전달되고 해석되어야 하는지를 서버와 클라이언트가 서로 알려주는 표준 방법입니다. 이는 웹 브라우저가 받은 파일을 올바르게 처리(예: HTML, 이미지, 비디오 등)할 수 있도록 도와주며, application/pdf는 PDF 파일, image/png는 PNG 이미지처럼 타입/서브타입 형식으로 구성됩니다.
LLM은 '대규모 언어 모델'의 약자이며, 방대한 텍스트 데이터를 학습해 인간의 언어를 이해하고 생성하는 인공지능(AI) 모델이다. 기존 AI와 달리, 언어의 패턴과 맥락을 파악해 창의적이고 자연스러운 결과물을 생성한다.
주요 특징
방대한 데이터 학습: LLM은 수십억 개의 단어와 문장, 코드 등으로 구성된 대규모 데이터 세트를 학습한다. 덕분에 복잡한 문맥과 의미를 깊이 이해할 수 있다.
트랜스포머 아키텍처: LLM의 핵심 기술은 '트랜스포머'라는 딥러닝 아키텍처이다. 이는 문장 내 단어 간의 관계를 파악하는 '셀프 어텐션' 메커니즘을 사용해 맥락에 맞는 텍스트를 생성한다.
자연어 처리(NLP) 능력: 텍스트 분석, 번역, 감정 분석 등 다양한 자연어 처리 작업을 수행할 수 있다.
생성형 AI: 사용자의 질문이나 요청에 따라 에세이, 시, 코드 등 새로운 텍스트 콘텐츠를 생성할 수 있는 생성형 AI의 한 종류이다
트랜스포머가 LLM의 핵심 기술인 이유
트랜스포머는 2017년 구글 연구진이 발표한 논문 「Attention Is All You Need」에서 처음 소개된 딥러닝 아키텍처이다. 기존의 순환 신경망(RNN)이 가지고 있던 한계를 극복하고, 자연어 처리(NLP) 분야에 혁신을 가져왔으며, 오늘날 대규모 언어 모델(LLM)의 핵심 기술로 자리 잡았다. 트랜스포머의 등장으로 인해 LLM은 방대한 데이터를 효율적으로 학습하고, 문맥을 깊이 이해하며, 사람과 유사한 자연스러운 언어를 생성하는 능력을 갖추게 되었다. 트랜스포머가 LLM의 성능을 비약적으로 끌어올린 주요 특징은 다음과 같다.
셀프 어텐션(Self-Attention) 메커니즘: 트랜스포머의 가장 핵심적인 기능이다. 이 메커니즘은 문장 내의 모든 단어 간의 관계와 중요도를 파악하여 문맥을 이해한다. 예를 들어 "그것은 강둑에 서 있었다"라는 문장에서 '그것'이 강을 의미하는지, 아니면 다른 대상을 의미하는지 파악하는 능력이 여기에 해당한다.
병렬 처리: 기존의 순환 신경망(RNN) 모델은 단어를 순차적으로 처리해야 했기 때문에 속도와 효율성에 한계가 있었다. 반면 트랜스포머는 문장 전체를 한 번에 처리하는 병렬 처리가 가능해 모델 학습과 추론 속도를 획기적으로 개선했다.
장거리 의존성 해결: RNN 모델의 고질적인 문제였던 장거리 의존성(문장의 앞부분과 뒷부분의 관계를 파악하기 어려웠던 문제)을 셀프 어텐션 메커니즘을 통해 효과적으로 해결했다. 이 덕분에 LLM이 길고 복잡한 문맥도 정확하게 이해할 수 있게 되었다.
인코더-디코더 구조: 트랜스포머는 입력 시퀀스를 처리하는 '인코더'와 출력 시퀀스를 생성하는 '디코더'로 구성된다. 이 구조는 기계 번역과 같은 작업에서 뛰어난 성능을 발휘하며, LLM이 사용자의 질문을 이해하고 답변을 생성하는 데 중요한 역할을 한다.
파운데이션 모델
방대한 양의 데이터로 학습되어 다양한 작업에 활용할 수 있도록 조정된 강력한 인공지능(AI) 모델입니다. 챗GPT와 같은 대규모 언어 모델(LLM)이 대표적이며, 텍스트 생성, 번역, 질의응답 등 다양한 분야에 응용됩니다. '파운데이션 모델'이라는 용어는 2021년 스탠퍼드 인간 중심 인공지능 연구소에서 처음 사용했습니다.
주요 특징
대규모 사전 학습: 수많은 데이터로 사전 학습되어 광범위한 지식과 능력을 습득합니다.
다양한 작업에 적용: 사전 학습된 후, 약간의 미세 조정(파인튜닝)이나 프롬프트 엔지니어링을 통해 특정 작업에 맞게 쉽게 재사용할 수 있습니다.
범용성: 텍스트뿐만 아니라 이미지, 로봇 제어 등 여러 분야에서 활용될 수 있습니다.
생성형 AI의 기반: 생성형 AI의 핵심 기술로, 복잡한 신경망 구조를 기반으로 합니다.
예시
대규모 언어 모델(LLM): 텍스트를 생성하고 이해하는 모델 (예: GPT-5, 제미나이).
비전 파운데이션 모델(VFM): 다양한 시각 AI 작업을 수행하는 모델.
로봇 파운데이션 모델: 로봇이 3D 공간을 이해하고 물체를 조작하는 등 작업을 수행하도록 돕는 모델.
REST(Representational State Transfer)
REST란 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다.
CRUD Operation이란
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말로 REST에서의 CRUD Operation 동작 예시는 다음과 같다.
| Create : 데이터 생성(POST), Read : 데이터 조회(GET), Update : 데이터 수정(PUT, PATCH), Delete : 데이터 삭제(DELETE) |
REST 구성 요소 : ① 자원(Resource) : HTTP URI, ② 자원에 대한 행위(Verb) : HTTP Method, ③ 자원에 대한 행위의 내용 (Representations) : HTTP Message Pay Load
REST의 장점
- HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구출할 필요가 없다.
- HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있게 해 준다.
- HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.
- Hypermedia API의 기본을 충실히 지키면서 범용성을 보장한다.
- REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악할 수 있다.
- 여러 가지 서비스 디자인에서 생길 수 있는 문제를 최소화한다.
- 서버와 클라이언트의 역할을 명확하게 분리한다.
RESPT API란 REST의 원리를 따르는 API를 의미합니다.
Terraform 개념
코드를 사용하여 인프라를 관리하는 코드형 인프라(IaC) 도구입니다. HashiCorp에서 개발한 오픈소스 도구로, 사람이 읽을 수 있는 언어(HCL)를 사용하여 클라우드 리소스(AWS, GCP, Azure 등) 및 인프라의 생성, 업데이트, 삭제를 자동화할 수 있게 해줍니다. 쉽게 말해, 코드를 통해 인프라 서버를 구축/운영 할 수 있게 해주는 오픈 소스 소프트웨어입니다.
| HashiCorp Terraform은 클라우드 및 온프레미스 리소스를 사람이 읽을 수 있는 구성 파일로 정의하여 버전 관리, 재사용 및 공유할 수 있는 코드형 인프라 도구입니다. 일관된 워크플로를 통해 인프라 수명 주기 전반에 걸쳐 모든 인프라를 프로비저닝하고 관리할 수 있습니다. Terraform은 컴퓨팅, 스토리지, 네트워킹 리소스와 같은 하위 수준 구성 요소뿐만 아니라 DNS 항목 및 SaaS 기능과 같은 상위 수준 구성 요소도 관리할 수 있습니다. |
Terraform 장점
| 장점 | 설명 |
| 자동화 | ♠ 수동으로 서버를 생성하는 게 아닌 코드로 생성하기 때문에 서버 운영 및 관리가 모두 자동화 될 수 있습니다. ♠ 예를 들어, AWS에서 새로운 서버를 생성 하기 위해서 AWS 콘솔에 로그인할 필요없이 Terraform 코드를 실행시키기기만 하면 됩니다. |
| 속도 & 안전 |
♠ 코드로 실행 되기 때문에 사람이 수동으로 작업하는 것 보다 훨씬 빠르며 또한 사람이 직접 할 때 생길 수 있는 실수들을 방지할 수 있습니다. |
| 문서화 | ♠ 모든 인프라가 코드로 기록 및 관리 되기 때문에 자동으로 문서화가 됩니다. 가장 큰 장점 중에 하나로, 많은 회사에서 인프라를 직접 구현하고 관리한 담당자를 제외하고는 전체 서버를 전부 파악하고 있는 사람이 없는 경우가 많습니다. 하지만 Terraform의 경우에는 새로 들어온 개발자라도 Terraform code를 보면 전체적인 구성을 이해 할 수 있습니다. |
| 형상관리 | ♠ git 을 통해 형상관리가 가능하며, 인프라의 변경 기록을 쉽게 볼 수 있습니다. |
| 리뷰 및 테스트 |
♠ 수동으로 서버 작업을 할 때는, 실제로 실행하기 전에 리뷰 하는 것이 굉장히 힘들수 밖에 없었습니다. 그래서 문제가 발견 되었을 때는 이미 프로덕션 애플리케이션에 영향을 주고 난 후인 경우가 많았는데, Terraform의 경우 코드 리뷰와 테스트를 통해 문제가 실제로 발생 되는 것을 어느 정도 예방할 수 있습니다. |
하시코프(HashiCorp)는 기업이 클라우드 인프라를 자동화하고 관리할 수 있도록 다양한 소프트웨어 도구들을 제공하는 미국의 소프트웨어 회사입니다. 주로 개발자, 운영자, 보안 전문가를 위한 제품을 만들며, 멀티 클라우드 환경에서 인프라를 프로비저닝, 보안, 연결, 실행하는 데 필요한 솔루션을 제공합니다.
<기본 구성 개념>
| 구성 | 설명 |
| 프로비저닝 (Provisioning) |
♠ 어떤 프로세스나 서비스슬 실행하기 위한 준비 단계 ♠ 크게 네트워크나 컴퓨팅 자원을 준비하는 작업 |
| 프로바이더 (Provider) |
♠ 테라폼과 외부 서비스를 연결해주는 기능 ♠ 프로바이더로는 AWS, GCP, Azure와 같은 범용 클라우드 서비스를 비롯해 Github, Datadog와 같은 특정 기능을 제공하는 서비스 |
| 리소스 | ♠ 프로바이더가 제공해주는 조작 가능한 대상의 최소 단위 ♠ 예를 들어 AWS 프로바이더는 aws_instance 리소스 타입을 제공하고, 이 리소스 타입을 사용해 Amazon EC2의 가상 머신 리소스를 선언하고 조작하는 것이 가능 |
| 계획 (Plan) |
♠ 테라폼 프로젝트 디렉터리 아래의 모든 .tf 파일의 내용을 실제로 적용 가능한지 확인하는 작업 terraform plan |
| 적용 (apply) |
♠ 테라폼 프로젝트 디렉터리 아래의 모든 .tf파일의 내용대로 리소스를 생성, 수정, 삭제하는 일을 적용 ♠ terraform apply |
Iac란?
IaC(Infrastructure as Code)는 코드로 인프라스트럭처를 관리한다는 개념으로 테라폼에서는 하시코프 설정 언어 HCL(Hashicorp Configuration Language)을 사용해 클라우드 리소스를 선언합니다.
쉽게 말해, 인프라를 사람이 읽을 수 있는 코드 로 만들 수 있습니다. 이를 통해 버전 관리, 공유 및 재사용이 가능합니다.
Iac 종류
| Iac 종류 | 설명 | 종류 |
| Provisioning Tool (프로비저닝 도구) |
♠ 일반적으로 운영팀의 담당자가 컴퓨터나 가상 호스트를 사용해 개발팀에서 필요한 라이브러리나 서비스를 설치 하는 것을 의미합니다. 프로비저닝 영역에서는 개발팀이 사용한 코드 버전과 동일한 버전을 사용해 네트워크, VM, DB 등을 구성합니다. | ◆ Terraform ◆Cloudformation |
| SCM Tool (구성 관리 도구) |
♠ 구성관리는 성능부터 H/W 속성과 라이프사이클 전반에 걸친 요구사항, 설계 및 운영 정보 의 일관성 등을 설정하고 유지하기 위한 시스템 프로세스 입니다. 프로비저닝이 인프라에 대한 배포 위주에 진행된다면, 구성관리는 애플리케이션의 구성 설정을 관리 하는 영역입니다. | ◆ Chef ◆ Puppet ◆ Ansible |
| 번호 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
| 공지사항 |
"최악의 호스팅 서비스 경험 - 카페24 이용 후기 (실제 피해 사례)"
biolove2
|
2025.09.23
|
추천 0
|
조회 236
|
biolove2 | 2025.09.23 | 0 | 236 |
| 199 |
하드파싱(Hard parsing)과 소프트파싱(Soft parsing) ?
biolove2
|
2026.02.07
|
추천 0
|
조회 30
|
biolove2 | 2026.02.07 | 0 | 30 |
| 198 |
biolove2
|
2026.01.03
|
추천 0
|
조회 21
|
biolove2 | 2026.01.03 | 0 | 21 |
| 197 |
[심화 학습 #4] 한국 공공기관 도입을 위한 필수 체크리스트: 보안 가이드라인과 CSAP
biolove2
|
2025.12.21
|
추천 0
|
조회 74
|
biolove2 | 2025.12.21 | 0 | 74 |
| 196 |
한국 공공기관 도입의 필수 관문: CSAP와 보안 가이드라인
biolove2
|
2025.12.21
|
추천 0
|
조회 76
|
biolove2 | 2025.12.21 | 0 | 76 |
| 195 |
[심화 학습 #3] AI 도입의 최종 관문: "데이터 거버넌스 및 보안"
biolove2
|
2025.12.21
|
추천 0
|
조회 61
|
biolove2 | 2025.12.21 | 0 | 61 |
| 194 |
[심화 학습 #2] 텍스트를 넘어 이미지와 도표를 읽다: "멀티모달 RAG"
biolove2
|
2025.12.21
|
추천 0
|
조회 60
|
biolove2 | 2025.12.21 | 0 | 60 |
| 193 |
[심화 학습 #1] AI의 답변 품질을 결정짓는 "Advanced RAG" 핵심 기술 총정리
biolove2
|
2025.12.21
|
추천 0
|
조회 55
|
biolove2 | 2025.12.21 | 0 | 55 |
| 192 |
비정형 데이터 (PDF, 엑셀, 매뉴얼 파일) 벡터화 및 임베딩 과정 (Chunking & Vectorization)
biolove2
|
2025.12.21
|
추천 0
|
조회 69
|
biolove2 | 2025.12.21 | 0 | 69 |
| 191 |
[GCP 시리즈 #5] 5분 완성! Compute Engine으로 나만의 웹 서버 만들기 (실전편)
biolove2
|
2025.12.21
|
추천 0
|
조회 62
|
biolove2 | 2025.12.21 | 0 | 62 |
| 190 |
[GCP 시리즈 #4] 내 서버를 지키는 철통 보안: VPC와 방화벽 완벽 가이드
biolove2
|
2025.12.21
|
추천 0
|
조회 56
|
biolove2 | 2025.12.21 | 0 | 56 |
| 189 |
[GCP 시리즈 #3] 쓰고 보니 1,000만 원? Compute Engine 요금 폭탄 피하는 5가지 전략
biolove2
|
2025.12.21
|
추천 0
|
조회 59
|
biolove2 | 2025.12.21 | 0 | 59 |
| 188 |
[GCP 시리즈 #2] 접속자가 폭주해도 평온한 이유: 오토스케일링과 로드밸런싱
biolove2
|
2025.12.21
|
추천 0
|
조회 56
|
biolove2 | 2025.12.21 | 0 | 56 |
| 187 |
[GCP 시리즈 #1] 클라우드의 심장, Compute Engine이란 무엇인가?
biolove2
|
2025.12.21
|
추천 0
|
조회 53
|
biolove2 | 2025.12.21 | 0 | 53 |
| 186 |
[GCP 시리즈 #1] 클라우드의 심장, Compute Engine이란 무엇인가?
biolove2
|
2025.12.21
|
추천 0
|
조회 52
|
biolove2 | 2025.12.21 | 0 | 52 |
| 185 |
국내 최대 클라우드 관리 전문 기업: 메가존클라우드(MegazoneCloud) 심층 분석
biolove2
|
2025.12.21
|
추천 0
|
조회 61
|
biolove2 | 2025.12.21 | 0 | 61 |
| 184 |
일반 호스팅 vs. GCP + MSP , 비용 비교, 구글 클라우드 MSP 업체, AS 방법
biolove2
|
2025.12.21
|
추천 0
|
조회 58
|
biolove2 | 2025.12.21 | 0 | 58 |
| 183 |
마켓플레이스에서 워드프레스 vs 일반 호스팅(카페24 등) 비교, 장.단점, 이용방법
biolove2
|
2025.12.21
|
추천 0
|
조회 68
|
biolove2 | 2025.12.21 | 0 | 68 |
| 182 |
Google Cloud Marketplace란? 상품 종류, 활용 시나리오,
biolove2
|
2025.12.21
|
추천 0
|
조회 56
|
biolove2 | 2025.12.21 | 0 | 56 |
| 181 |
AMP와 PWA: 2025년 SEO에 더 유리한 것은 무엇일까요?
biolove2
|
2025.12.20
|
추천 0
|
조회 65
|
biolove2 | 2025.12.20 | 0 | 65 |
| 180 |
피지컬 AI의 감각 기관: 데이터 수집 수단 (Sensor Taxonomy)
biolove2
|
2025.12.19
|
추천 0
|
조회 70
|
biolove2 | 2025.12.19 | 0 | 70 |