본문 바로가기

AI Feed

Tech & Product

JSON Patch REST API를 개발할 때 CRUD중 create, read, delete의 dto 설계는 비교적 간단하나 update는 다양한 방법이 가능하기 때문에 고민되는 부분입니다. 이 때 사용할 수 있는 JSON Patch를 소개합니다. JSON Patch JSON Patch는 json의 수정을 표현합니다. 따라서 REST API 설계시 PATCH 메소드와 함께 사용하면 update 기능을 구현할 수 있습니다. 예제 JSON Document { "a": "a", "b": "b" } JSON Patch [ { "op": "add", "path": "/c", "value": "c" }, { "op": "remove", "path": "/a" } ] 결과 { "b": "b", "c": "c" } 지원하는 Opera..
Docker의 등장 배경과 구조 Docker 등장 배경 chroot chroot는 ‘root 디렉토리(/)'를 변경하는 기능입니다. 프로세스의 root 디렉토리를 변경하여 해당 프로세스가 chroot로 설정한 root 디렉토리 밖의 파일이나 디렉토리에 접근하는 것을 제한합니다. 하지만 chroot는 파일이나 디렉토리에 대한 접근 권한만 제어하기 때문에 완전한 가상화가 아니었고 설정 방법도 복잡하여 여러 가지 제약이 있었습니다. LXC 이후 cgroups와 namespace기술을 이용한 컨테이너 기술의 시초인 LXC(Linux Container)라는 시스템 레벨의 가상화가 탄생하였고, OS 자체를 가상화하는 VM과는 다르게 해당 기술은 호스트 OS의 커널을 공유하고 단순히 하나의 격리 되어 있는 프로세스로써 동작하기 때문에 컨테이너라고 ..
GPU의 효율을 극대화 하는 솔루션 - Coaster 최근 AI 관련 산업이 늘면서 데이터 학습, 추론, 서비스 등 GPU를 많은 곳에서 사용하고 있습니다. 많은 수요와 동시에 GPU의 가격도 천정부지로 오르고 있어 고가의 GPU를 효율적으로 사용하고자 하는 수요도 늘고 있습니다. 국내 MLOps 솔루션 회사인 주식회사 텐의 Coaster를 소개해드리고자 합니다. Coaster란? Ten에서 개발한 솔루션으로 서버의 리소스(CPU, GPU, RAM 등)를 필요한 만큼 나눠 독립된 컨테이너 환경으로 제공하는 솔루션 오늘은 Coaster 솔루션의 여러 기능 중 GPU 효율성 향상을 초점으로 진행한 실험 결과를 공유해 드리고자 합니다. GPU 장비가 고가이다 보니, 하나의 GPU에 여러 서비스를 올리거나 다수의 개발자가 동시에 개발/테스트를 진행하는 경우가 있습..
글로벌 MLOps 및 ML 도구 분야의 플레이어들 2/2 2달여 사이에 MLOps 대 유행이 시작이라도 된 것인지 MLOps 솔루션 사업을 공표한 국내 스타트업들이 부쩍 눈에 띄는 것 같습니다. 지난번에 이어 ‘글로벌 MLOps 플레이어’들에 대해 알아보겠습니다. 지난 글에서는 MLOps 도구가 지원하는 ML 생애주기 별 기능을 설명했습니다. 지난글 보기↗ 이번 글에서는 글로벌 플레이어들이 그들의 제품으로 ML 생애주기 별로 어떠한 태스크를 지원하는 지 정리해 보고자 합니다. 주로 2013년 ~ 2014년에 창업한 이들은 최근 몇 년간 막대한 펀딩을 유치한 것으로도 유명한데요, 우리보다 약 4~5년은 앞서 사업을 시작한 이들의 발자취를 통해 우리나라 MLOps 스타트업의 미래를 가늠해 볼 수도 있을 것 같습니다. MLOps 춘추 전국 시대라는 표현에 걸맞게 2..
GIL(Global Interpreter Lock) 이번 글에 설명하는 내용은 다양한 파이썬 인터프리터 구현체 중 가장 오래되고 많이 사용하는 c 언어로 구현된 Cpython을 바탕으로 한 내용입니다. 1. GIL 이란? Global Interpreter Lock In CPython, the global interpreter lock, or GIL, is a mutex that protects access to Python objects, preventing multiple threads from executing Python bytecodes at once. 파이썬 위키 에서는 GIL을 파이썬 객체에 대한 접근을 보호하는 mutex이며, 여러 스레드가 파이썬 바이트코드를 한번에 실행하는 것을 방지한다라고 설명합니다. 공식문서를 보면 항상 느끼는 거지만 ..
글로벌 MLOps 및 ML 도구 분야의 플레이어들 1/2 이번 글은 오스트리아 소재의 MLOps 전문 회사 MLReef의 블로그를 재구성한 내용입니다. 수 백여 개의 MLOps 솔루션을 조사하고 전문가의 관점을 세워 분석한 상세 내용은 아래 링크에서 확인할 수 있습니다. Global MLOps and ML tools landscape by Camillo Pachmann / Feb 16 2021 ↗ 인공지능을 비즈니스에 적용하고 기존의 IT 시스템과 연계하여 끊김없이 운영하기 위해서는 인공지능 특화 기술 요소와 환경 구축이 필요합니다. 2015년 Google이 발간한 논문 ‘Hidden Technical Debt in Machine Learning Systems'↗ 에서는 인공지능 시스템 구축 시 고려해야할 위험 요소와 잠재된 기술 부채를 다루고 있으며 인공지능..
인공지능 및 IT 용어 정리 MLOps에서 언급되었던, AI 및 IT관련 용어를 요약하여 정리합니다.  정보 사일로곡식 등을 저장하는 저장 탑(silo)에서부터 유래한 단어로, 회사 내 조직들 간에 서로 소통, 협업을 하지 않는 배타적인 관리 체제를 말합니다. 정보는 각각의 조직 내에서만 공유 되고 이러한 현상은 각 부서 간 협업이 쉽지 않게 하며, 시너지를 낼 수 없게 만듭니다.  (정보 사일로 참고)   DevOpsDevOps는 Dev + Ops로, 소프트웨어의 개발 + 운영의 합성어 입니다. 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업, 통합을 강조하는 개발 환경이나 문화를 일컫습니다. 데브옵스의 목적은 개발조직과 운영조직간의 상호 의존적인 대응이며, 지속적 통합(CI)과 지속적 배포(CD)를 운영 과정에 도입해 소프..
MLOps란 무엇일까요? MLOps란 무엇일까요? 우선 간단히 적어보자면 MLOps는 ML(머신러닝) Ops(운영)으로, 머신러닝 기반 서비스의 운영을 효율화 하는 것이라고 할 수 있습니다. 이 MLOps는 기존의 DevOps와 같은 프로세스 또는 기술이며, 이 DevOps에 머신러닝에 필수적인 사항들이 추가되었다고 이해를 하면 되겠습니다. 그렇다면 MLOps는 왜 필요하게 되었을까요? 기존의 DevOps랑은 어떤 차이가 있는 걸까요? ML과 기존의 소프트웨어와의 가장 큰 차이점은 기존의 소프트웨어처럼 코드 뿐만 아니라, 데이터가 더해졌다는 것입니다. 이 데이터는 굉장히 방대하며, 끊임없이 변화할 수 있습니다. MLOps는 DevOps의 지속적 통합(CI), 지속적 배포(CD)에 지속적인 학습 과정(Continuous Train..