목록전체 글 (315)
rueki
2021년에 ICLR에 나온 paper로 주제는 Bert의 안정적인 학습에 관한 대한 내용이다. Transformer가 NLP에서 큰 성능 변화를 이끌어왔고 이를 응용한 모델인 BERT는 지금까지도 조금씩 변형되어가면서 NLP에서 계속 좋은 성능을 보이고 있다. 그러나 Transformer 계열 모델이 일반 사람들이 학습하거나 재사용하기에는 자원적인 한계가 있기에 pre-trained 모델을 fine-tuning하는 방법이 많이 사용되가고 있으나, Bert의 fine-tuning의 단점은 안정적인 성능을 보이지 못 하다는 것이다. 그래서 본문에서는 BERT의 안정적인 학습을 하기위한 접근법들을 안내하며 다양한 BERT(RoBERTa, ALBERT) 모델을 통한 성능 비교를 보여준다. 1. Introduc..
1. 말뭉치와 토큰화 말뭉치 (Corpus) : 원시 텍스트와 이에 관련된 메타데이터를 포함 시퀀스로 구성된 텍스트를 문자단위로 토큰화 한 것들의 모음 메타데이터에는 식별자, 레이블, 타임스탬프 등의 다양한 정보 포함 메타데이터 + 텍스트 들의 집합으로 말뭉치가 구성됨 토큰화(Tokenization) : 텍스트를 토큰으로 나누는 과정 토큰화의 기준은 다 제각각 다름 - 텍스트 토큰화 예시 import spacy from nltk.tokenize import TweetTokenizer nlp = spacy.blank('en') tokenizer = TweetTokenizer() text = "Mary, don't slap the green witch" tweet = u"Snow White and the S..
Abstract - Anomaly detection의 중요성 데이터 수집의 어려움, 레이블링 된 데이터를 구하기 어려울 뿐 아니라 이상 탐지 시 비정상 데이터를 구하기 어려움 - Detection 방법 Train data(normal)로만 학습하여 Test 시 Train 때 구성된 분포와 거리를 계산하여 비교 train 분포와 가까우면 정상으로 판단, 아니면 비정상 그러나 요즘 방법들로는 local feature와 global feature간의 관계를 무시하게 되고 기본 분포에도 매핑이 효과적이지 않음, 이로 인해 이상탐지의 효율성을 높이는 방법이 요구됨 본문서 소개하는 Fastflow는 비지도학습 기반 이상탐지를 위해 레즈넷이나 vit 같은 모델을 feature extractor로 사용하고, 훈련 시 ..
스테이트풀셋 : 애플리케이션의 상태를 저장하고 관리하는 데 사용되는 쿠버네티스 객체 레플리카셋의 특수한 형태, 상태를 갖고있는 pod를 관리하는 컨트롤러 레플리카셋과 다르게 파드명이 변경되지 않으며, 데이터를 영구적으로 저장하기 위한 구조로 구성 1. 스테이트풀셋 생성 apiVersion: apps/v1 kind: StatefulSet metadata: name: sample-statefulset spec: serviceName: sample-statefulset replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container..
디플로이먼트 : 여러 레플리카셋을 관리하여 롤링 업데이트나 롤백 등을 구현하는 리소스 디플로이먼트가 레플리카셋을 관리, 레플리카셋이 파드를 관리하는 구조 - deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: sample-deployment spec: replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container image: nginx:1.16 - 디플로이먼트 설치 kubectl apply -f sample-deployment.yaml 설치하고, 디플로이..
레플리카셋 : 다수의 파드를 만드는 데 목적, 파드 3개를 만들도록 선언할 경우, 레플리카셋은 파드 수를 보장하기 때문에 예를들어 3개의 파드에서 1개가 삭제되어도 1개를 다시 생성해서 갯 수를 보장해준다. 1. 레플리카셋 생성 - sample-rs.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: sample-rs spec: replicas: 3 selector: matchLabels: app: sample-app template: metadata: labels: app: sample-app spec: containers: - name: nginx-container image: nginx:1.16 - 설치 명령 kubectl apply -f samp..
Pod 개념 : 한 개 이상의 컨테이너로 단일 목적의 일을 하기 위해서 모인 단위이다. 파드는 언제든 죽을 수 있는 존재임. 1. 파드 생성 기초(파드 내에서 하나의 컨테이너 설치) - pod.yaml (예시) apiVersion: v1 kind: Pod metadata: name: sample-pod spec: containers: - name: nginx-container image: nginx:1.16 - yaml파일을 통한 pod 생성 kubectl apply -f pod.yaml 파드 내에 메타데이터, 스펙이 있는 것으로 생각하면 좋음. 메타데이터는 파드의 레이블, 이름과 같은 정보를 나타내는 것, 스펙은 파드에서 호출할 컨테이너 이미지를 지정한다. 위에서는 nginx:1.16의 이미지를 컨테이..
쿠버네티스 구성 : 쿠버네티스 마스터, 쿠버네티스 노드 *쿠버네티스 노드 - 도커 호스트에 해당, 컨테이너를 기동시키는 노드 마스터 : API 엔드포인트 제공, 컨테이너 스케줄링, 컨테이너 스케일링 클러스터를 관리하려면 yaml 파일 , json 파일 형식으로 작성된 매니페스트 파일 사용을 통해 쿠버네티스 마스터에 리소스를 등록 kubectl은 쿠버네티스 마스터가 가진 api에 요청을 보내 쿠버네티스를 관리하는 구조 쿠버네티스 리소스 - 워크로드 API 카테고리 : 컨테이너 실행에 관련된 리소스, 즉 클러스터 위에서 컨테이너를 기동하기 위해 사용되는 리소스 * 파드, 레플리카셋, 디플로이먼트, 잡 ... - 서비스 API 카테고리 : 컨테이너를 외부에 공개하는 엔드포인트를 제공하는 리소스 컨테이너 서비스..