🚀 Embedding이란 ? NLP 분야에서는 Embedding 과정을 거치는데 Embedding이란 자연어를 기계(컴퓨터)가 이해할 수 있는 형태(숫자, Vector)로 바꾸는 과정 전체를 말한다. 임베딩은 대표적으로 아래 3가지 역할을 한다. 1. 단어/문장 간 관련도 계산 2. 단어와 단어 사이의 의미적/문법적 정보 함축(단어 유추 평가) 3. 전이학습(Tansfer Learning) → 좋은 임베딩을 딥러닝 모델 입력값으로 사용하는 것 🚀 BERT의 내부 동작 과정 🚀 Input BERT의 Input과 Output은 위와 같다. 3가지의 요소를 입력해줘야 한다. Token Embedding : 각 문자 단위로 임베딩 Segment Embedding : 토큰화 한 단어들을 다시 하나의 문장으로 만드..
🚀 BERT란 무엇인가 ? BERT, Bidirectional Encoder Representations from Transformers는 Transformers로 부터의 양방향(Bidirectional) Encoder 표현(Representations)으로 2018년 11월 Google이 공개한 사전 훈련된(Pre-trained) 언어 모델이다. 트랜스포머를 이용해 구현되었으며 위키피디아 (25억 단어)와 BooksCorpus(8억 단어)와 같은 레이블(label)이 없는 텍스트 데이터로 훈련되었다. BERT가 높은 성능을 얻을 수 있었던 것은, 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고, 레이블이 있는 다른 작업(Task)에서 추가 훈련과 함께 하이퍼파라미터를 재조정하여 이 모델을 사용..
🚀 자연어 처리(NLP, Natural Language Processing)란 ? NLP(Natural Language Processing, 자연어 처리)는 인공지능의 한 분야로서 머신러닝을 사용하여 텍스트와 데이터를 처리하고 해석한다. 자연어 인식 및 자연어 생성이 NLP의 유형이다. NLP의 하위 주제인 자연어 이해는(NLU, Natural Language Understanding) 텍스트 본문의 실제 의미를 이용하기 위해 사용된다. NLU는 텍스트를 분류, 아카이브, 분석할 수 있다. NLP는 한 단계 더 나아가 그러한 의미에 기반한 의사결정을 도와준다. 🚀 NLP의 용도는 무엇인가 ? 자연어 처리 어플리케이션은 구조화되지 않은 텍스트 기반 데이터로부터 유용한 정보를 얻기 위해 사용되며, 사용자가 ..
🚀 CI/CD 개발자가 코드를 수정하고 빌드하고 테스트하고 배포까지 한다면 상당히 많은 시간이 소요된다. 하지만 git에 코드를 올리는 것만으로 누군가가 빌드와 테스트, 배포까지 해준다면 일련의 과정에 소요되는 시간을 단축시키고 오롯이 개발에만 더 많은 시간을 투자할 수 있게될 것이다. 이때 등장하는 개념이 CI/CD이다. 다음의 두 이미지를 통해 기존의 전통적인 개발 환경과 CI/CD를 도입한 환경을 한눈에 비교할 수 있다. 🚀 CI CI는 Continuous Integration 즉, 지속적인 통합이라는 의미이다. 지속적인 통합이란, 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 레포지토리에 통합되는 것을 의미한다. 📌 CI가 필요한 환경 다수의 개발자가 형상관리 툴을 공..
🚀 AWS Fargate AWS Fargate - Amazon EKS AWS Fargate는 서버리스형 컨테이너 서비스로서 Amazon EKS 클러스터의 일부로 Kubernetes 파드로 실행되는 컨테이너에 대해 적절한 크기의 온디맨드 컴퓨팅 용량을 제공한다. 컨테이너를 실행하는 리소스 비용만 초단위에 따라 지불하면 된다. Fargate를 이용해 EC2 인스턴스를 사용하지 않고 파드를 실행할 수 있다. 우리가 EKS를 사용할 때 컨트롤 플레인은 AWS에서 관리해주지만 워커 노드들은 오토 스케일링 그룹을 이용해 EC2 인스턴스를 배포해서 사용한다. → 즉, EC2 인스턴스의 관리는 사용자의 몫이다. Fargate는 EC2 인스턴스를 추상화시켰기 때문에 사용자가 관리할 필요가 없다. 사용자는 운영체제 버전 ..
🚀 CloudWatch Container Insight Amazon EKS 및 Kubernetes에서 Container Insights의 빠른 시작 설정 - Amazon CloudWatch 안정적인 서비스의 운영을 위해서는 서비스의 CPU, Memory 등을 모니터링하고 Application Log를 확인하는 것이 중요하다. 쿠버네티스에서도 마찬가지로 Cluster, Namespace, Service, Pod 등에 대한 모니터링과 필요에 따라 Application 로그 수집이 필요하다. AWS에서 제공하는 Container Insights와 로그 수집기인 Fluent Bit로 로그를 수집하고 모니터링 할 수 있다. Container Insights (모니터링) ECS, EKS Cluster에 대하여 CP..