본문 바로가기
반응형

전체 글116

Transformer Transformer Transformer는 RNN 언어 모델에서부터 시작었다. 기존의 RNN은 하나의 고정된 크기의 벡터(Context vector)에 모든 정보를 압축하므로 정보 손실이 발생하며 순차적 입력 구조 때문에 먼저 입력된 단어의 정보가 잘 반영되지 않는(Vanishing gradient) 단점이 존재한다. 이를 보정해주기 위한 어텐션(Attention) 기법이 등장했지만, 순차적 입력 구조는 그대로이므로 성능 개선에 한계가 있다. 어텐션은 입력 문장 내의 단어들끼리 유사도를 구함으로써 특정 단어와 연관된 확률이 높은 단어를 찾으므로 RNN의 정보 손실 문제를 해결할 수 있다. 트랜스포머는 각 단어의 임베딩 벡터에 위치 정보들을 더하여 모델의 입력으로 사용(Positional encoding.. 2023. 4. 3.
Naver Clova Naver Clova 네이버 클로바(Naver Clova)는 네이버에서 개발한 인공지능 플랫폼이며 검색 기능, 날씨 정보, 음악 추천 및 재생, 번역, 영어 프리토킹 등 다양한 기능들을 제공한다. 이러한 다양한 AI 서비스 중 무료로 체험해볼 수 있는 Clova sentiment, Summary 서비스를 이용해보도록 한다. Clova Sentiment 한국어에 최적화된 감정 분석 기술 서비스로 블로그, 댓글, SNS 등 한글로 작성된 글 속에 표현된 감정을 분석해 주는 API이다. Clova Sentiment 예시 Clova Sentiment 요금 Clova Summary 문서 주제와 관계 없이 사용할 수 있는 API로 문서에서 가려낸 주요 내용을 기반으로 전체 내용을 간결하게 요약한다. Clova Su.. 2023. 4. 3.
간단한 AI 웹서비스 예제 주접 생성기 이름을 입력하면 주접 멘트를 생성해주는 서비스 스팸체 생성기 글귀를 입력하면 스팸체를 생성해주는 서비스 위와 같은 간단한 AI 웹서비스를 구축해보는 것이 스터디의 목표이다. 2023. 4. 3.
AI 모델 조사 시작 기획에 앞서 AI 서비스 구축에 사용할 AI 모델에 대한 조사를 먼저 시작한다. AI 모델을 만드는 것이 목표가 아니기 때문에 AI 서비스 구축에 AI 모델을 직접 코드를 구성하고 학습을 시키기 보다는 모델이 어떻게 돌아가는지 이해하고 잘 작성된 코드를 가져와 활용하거나 API를 활용하여 서비스를 구축하는 것을 목표로 한다. 따라서, 모델을 조사하는 과정에서 모델의 알고리즘에 대한 이해 보다는 작동 원리, 사용법 등에 더 초점을 두고 조사를 하도록 한다. 2023. 4. 3.
AI 서비스 구축 스터디 시작 IT 회사에서 데이터 분석가로 시작하여 기획부서로 넘어오며 기존에 전공을 하며 관심을 가졌던 데이터 분석, ML, DL 등의 데이터 분야에 점점 멀어지는 것에 아쉬움을 느끼던 차, 회사에서 AI 서비스 구축 스터디를 참여하게 되었다. 처음 기획부서에 넘어왔을 때, 데이터를 이용한 분야는 기술의 발전이 빠르고 기술의 R&D 분야에서는 너무 뛰어난 사람이 많으며 AI가 점점 발전하며 대체될 것이라 생각하였고 이를 따라가는 것보다 잘 활용하는 능력이 더욱 중요해질 것이라 생각하여 기획에 관심을 갖게 되었다. 하지만 현실적으로 회사에서 내가 원하는 기획을 해볼 수 있는 기회가 없고, 간단한 웹/앱이라도 통째로 서비스를 기획하고 구축하는 프로세스를 경험하는 것이 쉽지 않다는 것을 알게 되었다. 이번 스터디를 계기.. 2023. 4. 3.
[k8s]Kubernetes - Logs/EFK Pod 로그 관리 전통적인 애플리케이션의 로그 운영 애플리케이션이 항상 지정된 장비에서 실행됨을 보장 logrotate와 같은 system 관리 tool을 이용해서 로그 관리 일정시간 로그를 저장하고, 일정시간 후에는 로그를 제거 클러스터 환경에서 로그 운영 애플리케이션이 어느 노드에서 실행 되는지 얼마나 많은 자원 사용하는지 응답속도 및 응답 코드 확인 개별 노드에 접근하지 않고 직접 Pod의 로그를 확인할 수 있어야 함 로그 수집 & 저장 & 모니터링 Pod 로그 확인 EFK를 이용하여 Kubernetes Application 로그 관리 EFK stack은 클러스터 환경에서 로그를 수집, 검색 그리고 시각화를 지원 각 클러스터 Node에 fluentd가 daemonset으로 log를 수집 elasti.. 2023. 3. 17.
[k8s]Kubernetes - Secret ConfigMap과 Secret ConfigMap: 컨테이너 구성 정보를 한곳에 모아서 관리 Secret: 컨테이너가 사용하는 password, auth token, ssh key와 같은 중요한 정보를 저장하고 민감한 구성정보를 base64로 인코딩하여 한곳에 모아서 관리 민감하지 않은 일반 설정파일 -> configMap 사용 / 민감한 데이터 -> secret 사용 Secret 데이터 전달 방법 Command-line Argument Environment Variable Volume Mount Secret 만들기 kubectl create secret name [flags] [options] Available Commands 종류 docker-registry Create a secret for use.. 2023. 3. 17.
[k8s]Kubernetes - ConfigMap ConfigMap ConfigMap: 컨테이너 구성 정보를 한곳에 모아서 관리 컨테이너 수가 많을 때 하나하나 컨테이너에 들어가 구성 정보를 관리하는 것이 쉽지 않음 configmap의 구성 정보를 여러 컨테이너에 적용하여 관리 구성 정보 전달 방법 환경 변수로 전달 argument로 전달 volume mount, 저장소 파일로 전달 ConfigMap 생성 --from-file로 파일 source, --from-literal로 key:value kubectl create configmap test_Configmap --from-literal=id=b2021002 --from-literal=class=bigdata kubectl create configmap test_Configmap --from-file.. 2023. 3. 16.
[k8s]Kubernetes - Canary Deployment Canary Deployment 파드를 배포(업데이트)하는 방법 블루 그린 업데이트 카나리 업데이트 롤링 업데이트 Canary 배포 기존 버전을 유지한 채로 일부 버전만 신규 버전으로 올려서 신규 버전에 버그나 이상이 없는지 확인 신규 버전에 문제가 있으면 기존 버전으로 복구 신규 버전에 문제가 없으면 기존의 일부 버전을 또 신규 버전으로 올려 문제가 없는지 확인 Canary Deployment Example 기존의 구버전(블루) 파드 두개 실행 새로운 버전(그린) 한개 실행 기존 버전 2개 새로운 버전 1개 service로 묶어 실행 고객은 세개의 파드 무작위로 사용 문제가 없으면 새로운 버전 1개 추가 & 구버전 1개 삭제 이와 같은 방식으로 새로운 버전을 하나씩 테스트하며 자유롭게 업데이트 Refe.. 2023. 3. 16.
[k8s]Kubernetes - Annotation Annotation Label과 동일하게 key-value를 통해 리소스의 특성을 기록 Kubernetes에게 특정 정보 전달할 용도로 사용 예를 들어 Deployment의 rolling update 정보 기록 관리를 위해 필요한 정보를 기록할 용도로 사용 릴리즈, 로깅, 모니터링에 필요한 정보들을 기록 describe에서 정보 확인 가능 Annotation Example annotation example pod 생성 kubectl create -f annotation-exam1.yaml describe로 pod의 anootation 정보 확인 kubectl describe pod annon-pod Reference 따배쿠31강 2023. 3. 16.
[k8s]Kubernetes - node label Node Label Worker Node의 특성(ex.하드웨어 스펙)을 Label로 설정 kubectl label nodes key=value 노드를 선택해서 파드 배치 가능 각 노드의 스펙이 다른 경우 파드에 적합한 노드를 선택하여 배치 딥러닝이 돌아가는 컨테이너를 갖는 파드를 gpu가 있는 노드를 선택하여 배치해야 함 Node Label 관리 명령어 Label 보기 전체 노드 Label 보기 kubectl get nodes --show-labels 특정 Label 갖는 노드 보기 kubectl get nodes -L/--selector 해당 label을 갖는 노드 출력 -l이 selector 기능 Label 관리: kubectl label --help Label 생성 및 변경 Label 할당 kube.. 2023. 3. 16.
[k8s]Kubernetes - Label Label Node를 포함하여 pod, deployment 등 모든 리소스에 할당 리소스의 특성을 분류하고, Selector를 이용해서 선택 파드 이름만 갖고 특성을 분류하는데 한계가 존재 Main UI pod가 여러개 존재할 때 stable, beta, canary 중 어떤 버전인지 파드 이름만으로는 분류 불가 Key-value 한쌍으로 적용 Label과 Selector Label metadata: labels: rel: stable name: mainui Selector selector: matchLabels: key:value matchExpressions: - {key: name, operator: In, values: [mainui]} - {key: rel, operator: NotIn, val.. 2023. 3. 16.
반응형