ElasticSearch는 루씬 기반의 오픈 소스 검색 엔진입니다. JSON 기반으로 문서를 저장하고 검색할 수 있으며 쿼리를 통해 문서를 검색할 수 있습니다. 이번 포스팅은 ElasticSearch 기초에 대해 설명드리고자 합니다. ElasticSearch의 특징준 실시간 검색 엔진: 실시간이라고 생각할만큼 색인된 데이터가 매우 빠르게 검색됨. ElasticSearch 클러스터가 실행되고 있는 동안에는 계속해서 데이터가 입력(색인)되고 실시간에 가까운 속도로 색인된 데이터의 검색이 가능하다.클러스터 구성: 한대 이상의 노드를 클러스터로 구성하여 높은 수준의 안정성을 이루고 부하를 분산할 수 있음클러스터: 여러대의 컴퓨터 혹은 구성 요소들을 논리적으로 결합하여 전체를 하나의 컴퓨터로 사용할 수 있게 해주..
개요주요 용어DAG: Directed Acyclic Graph(대그), 방향성 비순환 그래프DAG 파일은 파이썬으로 이루어져있음backfilling(백필): DAG의 과거 시점을 지정해 실행하는 프로세스태스크오퍼레이터그래프 기반 표현의 특성독립적인 태스크의 경우 태스크를 병렬로 실행할 수 있음날씨 예보 가져오기, 판매 데이터 가져오기는 독립적임모놀리식(단일) 스크립트가 X, 점진적인 태스크로 명확하게 분리할 수 있음중간에 실패하면 실패한 태스크만 재실행하면 됨주요 구성 요소Airflow 스케줄러: 현재 시점에서 DAG의 스케줄이 지난 경우 Airflow 워커에 DAG의 태스크를 예약함Airflow 워커: 예약된 태스크를 선택하고 실행함Airflow 웹 서버: 스케줄러에서 분석한 DAG를 시각화하고 DAG..

한빛미디어 출판사로부터 책을 제공받아 작성했습니다!ContentsCHAPTER1 레이 살펴보기CHAPTER2 레이 코어로 시작하는 분산 컴퓨팅CHAPTER3 분산 애플리케이션 개발CHAPTER4 레이 RLib을 활용한 강화학습CHAPTER5 레이 튠을 활용한 하이퍼파라미터 최적화CHAPTER6 레이 데이터셋을 활용한 데이터 분산 처리CHAPTER7 레이 트레인을 활용한 분산 모델 훈련CHAPTER8 레이 서브를 활용한 온라인 추론CHAPTER9 레이 클러스터를 활용한 스케일링CHAPTER10 레이 AIR로 구성하는 데이터 과학 워크플로What I want to learn데이터 전처리에 레이를 사용하고 나서 많은 시간을 단축하였다. 그러나 레이를 활용할 수 있는 방법은 많지만 그 활용법을 제대로 알고 있지..
✨ 딥러닝 모델을 다루게 되면서 CPU, GPU, 메모리 등에 대한 사양을 중요하게 보게 됩니다. 그렇다면 이 컴퓨터 사양들이 무조건 높으면 좋을까요? 왜 좋을까요? 멀티프로세스와 멀티스레드는 정확히 어떤 차이가 있을까요? 컴퓨터 구조와 운영체제를 공부하게 된다면 문제 상황을 빠르게 진단할 수 있고 문제해결의 실마리를 다양하게 찾을 수 있습니다. 결국 컴퓨터 안에서 프로그램이 실행되기 때문입니다. 파이썬을 주로 사용하게 되면서 접하는 에러들을 보며 컴퓨터에 대해 더 공부하면 좋겠다는 생각에 혼자 공부하는 컴퓨터 구조+운영체제 책을 읽으며 주요한 내용들을 정리하였습니다. 책의 제목대로 혼자서 공부할 수 있게 쉽게 설명해주어 정말 재밌게 읽었던 책입니다. 이번 글에서는 컴퓨터 구조 파트를 다루겠습니다.컴퓨터..
✨ 처음 시작하는 자연어처리 논문 읽기의 첫 글입니다. 이번 글에서 다룰 논문은 2018년에 게재된 Deep Contextualized Word Representations입니다. ELMo라는 이름을 가진 모델입니다.1. Backgrounds사전학습된 word representations은 자연어 처리 작업에 사용되기 전 대규모 코퍼트에서 학습한 단어 임베딩의 일종이다. 이러한 표현은 많은 neural language 모델에서 중요한 구성 요소이다. 그러나 고품질의 representation을 학습하는데 2가지 어려움이 있다.구문 및 의미론과 같은 단어 사용의 복잡한 특성을 모델링하는 것다의어와 같이 문맥에 따라 의미가 변형하는 것하나씩 살펴보자면,구문 및 의미론이란 의미로는 시제를 예로 들 수 있다. ..
스타트업도 MLOps가 필요한가?스타트업에서는 AI 서비스가 새롭게 도입되고 제거되는 일들이 빠르게 진행되는 것 같아요. 환경이 빠르게 바뀌어 이에 맞춰서 배포 환경 또한 바뀌어야 할때도 있구요. 무엇보다 한명의 팀원이 모델 실험, 관리, 배포, 서빙, 인프라 관리, 모니터링, 분석일을 모두 하기 때문에(그렇게 풀스택이 된다..) 최대한 머신러닝 엔지니어가 해야하는 일들을 자동화, 효율화시키는 것이 중요합니다.다른 스타트업에서도 MLOps에 대해 관심이 많을 것이라 생각하여 글을 작성하게 되었어요. 저희는 GCP 클라우드를 사용하고 있어 아래 내용은 GCP와 관련된 서비스들이 주로 활용되고 있으나 타 클라우드에서도 비슷한 서비스가 있을 것이기 때문에 참고해서 MLOps를 적용한다면 더 쉽고 빠르게 적용될..

한정수님의 회고 글을 보고 시작한 회고 시리즈이다. 작년 회고 글을 작성하고 두번째 회고 글을 작성하게 되었다. 작년은 일을 시작하는 해였다면 올해는 일에 적응하고 나 스스로를 키우는 한해였다. 2개의 앱 속에 5개의 AI 서비스를 배포하였고 데이터와 AI API를 판매하는 프로젝트를 리드하고 있으며, 앱에 중요한 역할을 하고 있는 페이지의 사용자 retention을 위해 서비스 가이드를 기획하였다. 특히, 올해 하반기에는 개발과 기획, 관리를 할 수 있는 기회가 주어져 열심히 배워가고 있다. 올해를 보내면서 어떤 재미난 경험들을 했고 어떤 힘든 점이 있었으며, 어떤 점을 배웠는지 회고하고자 한다.1. 스타트업 머신러닝 엔지니어❤️ 현재 다니고 있는 회사에 다닌지도 1년 4개월이 되었다. 작년 회고 글에..
어릴 땐 누구나 다 호기심을 가지고 있다. 지금 우리 아이들만 봐도 하루종일 질문 투성이이다. “해님은 왜 들어가요?” “왜 인도에서는 손을 안들어도 돼요?(횡단보도는 손들잖아요)” 등등. 어른이 되고 나서는 질문한 횟수가 눈에 꼽는다. 회사에서나 일을 하기 위해 질문하지 나 자신, 타인에 대한 궁금증을 가지지 않게 되었다. 책을 읽으면서 생각을 한 줄 알았는데 이 책에서 말하는 것처럼 남의 생각을 듣기만 했다. 내가 궁금하지 않으면 남들도 나를 궁금해하지 않는다는 말이 마음 속에 크게 와닿았다.스마트폰이 모두의 손에 쥐어지면서, 심지어 챗GPT가 나오게 되면서 사람들은 점점 인풋만 늘어나고 아웃풋이 줄어들고 있다. 그렇다면 아웃풋을 늘리기 위한 노력으로는 무엇이 있을까? 이 책에서 준비한 100가지 질..
💡 이번 12월부터 글또 9기에 참여하게 되었습니다. 글또를 본격적으로 시작하기 전에 왜 글또에 지원했는지, 글또를 통해 하고자하는 것이 무엇인지, 글또를 참여하기 위해선 어떤 노력을 했는지 작성하려합니다. 글또를 왜 지원 했는가?개발 블로그를 운영하거나 개발 블로그를 자주 찾아보는 분들에게는 글또가 익숙할 것이다. 글또 다짐글을 읽거나 글또 참여 중인 글들을 살펴보기도 했으며, 회고를 읽기도 했을 것이다. 나 또한 그런 사람 1인이다. 글또에 참여 중인 글을 읽고 퀄리티가 뛰어나다는 것을 느껴서, 나도 글또에 참가하면 어떨까? 하는 기대감을 가지고 있었는데, 마침, 글또 9기를 모집한다는 글에 냉큼 지원하였고 운이 좋게도 글또 9기에 참여하게 되었다. 이번 글또는 10기까지 운영된다고 하니, 9기에 ..
💭 외부 업체와 함께하는 프로젝트에서 내가 리드를 맡게 되었다. 그 과정에서 내가 실수한 것과 관찰한 것을 통해 배웠던 점들을 정리하였다.1. 감정적으로 대처하지 말 것화가 나면 이상한 억지를 부릴 수 있다. 우리 앱에 문제가 있다고 해도 이미 벌어진 것이니 앞으로 어떻게 해결해야할지 집중해야한다.2. 아무리 급해도 기다렸다가 메일 답변할 것급하다고 해서 답장을 주면 중간에 번복하는 경우가 생긴다. 신중하게 문제가 없는지 마지막까지 검토하고 답을 주자.3. 확답하지 말기개발 이슈는 원인을 찾아 해결했다고 했지만 또다른 이슈가 있을 수 있고 생각치도 못한 변수가 발생할 수 있다. “오늘까지 무조건 됩니다!”라고 얘기했으나 심사가 통과되지 못할 수 있으니 “최대한 노력하고 있으며 가능한 오늘까지 해결하려고..

현실 데이터를 다루다보면 여러가지 영향을 많이 받게 됩니다. 사람이 봤을때 사진이 어둡게 되면 물체를 식별하기 어렵듯이 기계가 학습할 때 조도로 인해 학습 성능에 영향을 줄 수도 있습니다. 특히, 물체를 탐지하는 모델일 경우 조도가 어두운 사진에서 사람이나 특정한 물체를 찾아내는 데 어려울 수 있겠죠이런 이미지 데이터의 조도를 전처리하는데 꽤 어려운 점이 있습니다. 사진의 조도는 균일하지 않기 때문이죠. 창문 주변은 밝지만 물체는 어두울 수도 있어 사진 전체의 밝기를 올리면 오히려 밝았던 물체들이 너무 밝아질 수도 있습니다. 따라서 밝은 영역은 그대로 또는 어둡게, 어두운 영역은 밝게 바꿔야합니다. 이런 작업을 딥러닝 모델을 통해 해결한 모델이 Zero-DCE입니다. 이번 글에서는 Zero-DCE에 대해..
회사에 모니터링 시스템인 datadog을 도입하게 되면서 얻었던 지식들을 공유하려합니다. ML 엔지니어로써 생소했던 모니터링 시스템이라 고군분투했지만 시간이 지나고보니 datadog 공식문서가 꽤 잘 되어있다는 걸 깨달았네요 🔥 agent를 심어 모니터링하는 것이 주요 기능이기 때문에 모니터링 하고자 하는 시스템의 종류에 따라 달라지겠지만 조금이라도 도움이 되고자 작성하였습니다. 아래 내용은 편의상 평서문으로 작성하였습니다.Datadog이란?SaaS 기반 대규모 애플리케이션 및 인프라를 위한 모니터링 및 분석 통합 플랫폼서버에 에이전트를 설치 후 모니터링하는 단순한 기능임에이전트에 추가적인 설정으로 데이터베이스나 메모리 스토어 및 애플리케이션 등을 상세하게 모니터링할 수 있음외부 API 연동이 가능한 ..