AI TECH 55

Fast API (3)

1. Event Handler 2. API Router 3. Error Handling 4. Background Task 5. Cookiecutter Event Handler - 이벤트가 발생했을 때, 그 처리를 담당하는 함수 - FastAPI에선 Application이 실행할 때, 종료될 때 특정 함수를 실행할 수 있음 Event Handler 사용 예시 - startup 할 때 머신 러닝 모델 load - shutdown 할 때 로그 저장 - @app.on_event(“startup”) - @app.on_event(“shutdown”) from fastapi import FastAPI import uvicorn app = FastAPI() items = {} # ⭐ 데코레이터로 startup할 때 실..

AI TECH 2023.01.16

Fast API (2)

1. FastAPI - Path Parameter, Query Parameter, Optional Parameter - Request Body, Response Body - Form, File 2. Pydantic - Pydantic Validation - Pydantic Config Fast API로 간단한 웹서버 띄우기 uvicorn이란? 매우 가벼운 ASGI 서버이다. fast api 프레임워크만으로는 웹 개발을 할 수 없고, ASGI와 호환되는 웹 서버가 필요하다. -> Uvicorn은 비동기 방식이 가능한 python web server framework와 application 간의 표준 interface를 제공한다. Uvicorn을 사용하면 배포 시 별도의 준비가 필요하지 않다. # *** h..

AI TECH 2023.01.14

Fast API (1)

지금까지 프론트엔드와 백엔드 모두 Streamlit으로 구현했다면 백엔드에서 Fast API로 대체하고자 한다 1. 백엔드 프로그래밍 2. FAST API 백엔드 프로그래밍 [기본용어] 클라이언트 요청을 하는 플랫폼. 브라우저 같은 웹일 수 있고, 앱일수도 있음. 우리가 Python을 사용해 요청하는 것도 클라이언트 Server의 형태 - 하나의 서버에서 모든 작업을 처리하는 경우 모놀리식 아키텍쳐(Monolithic Architecture)라고 하고, 각 역할에 맞게 개별 서버로 구성하고 각 서버간 통신을 하는 경우를 마이크로서비스 아키텍쳐(Microservice Architecture)라고 한다. REST API - Rest API는 API 요청 시 활용하는 정해진 형식으로, 정보를 주고 받을 때 널..

AI TECH 2023.01.12

Product Serving

1. Github action 2. GCP 참고 자료: Cloud란? GCP에서 인스턴스, 버킷 만들기 GCP를 사용해 streamlit 실행 및 github action을 통한 CI/CD 예제 Github Action을 사용한 CI/CD .yml 파일 분석하기 Google Cloud Platform Streamlit 실행 예제를 살펴보자 ssh를 클릭하고 브라우저 창에서 열기 클릭 Secret key 등록 Secret key는 아래처럼 사용 가능하다 브라우저 창에 아래와 같은 명령어 입력 git config --global credential.helper store : Github Action에서 추가 인증없이 사용하도록 설정 Fork한 Repo Clone git clone ~.git 필요한 프로그램 ..

AI TECH 2023.01.12

Transformer 기반의 언어 모델들에 대한 정리 및 비교

💬 한 눈에 살펴보기 Transformer 기반의 언어 모델들에 대한 정리 및 비교 AE의 목적은 값을 복원해 내는 것이다. BERT의 경우 token에 노이즈를 줌 -> 복원이므로 Denoising AE로 볼 수 있다. likelihood를 최대화하는 게 목적이다. XLNet 1.Permutation Language Modeling Objective Permutation 집합을 통해 다양한 sequence를 고려함 -> AR Objectibe func에 대입 -> 특정 token에 양방향 context를 고려할 수 있음 2. Target-Aware Representaton for Transformer 3. Two-Stream Self-Attention 4. Transformer-XL : 2 segmen..

AI TECH/논문 2023.01.09

[논문리뷰] T5/Exploring the Limits of Transfer Learning with a UnifiedText-to-Text Transformer

💬 들어가기에 앞서 - Text to text란? text 형태로 주어진 문제에서 text 정답 찾기 - Transfer Learning in NLP 위 논문에서는 다음 두 모델을 비교하며 전개한다. T5에서 적용된 방법론들은 다음과 같다. - Training objective : Modified MLM - Model structure : Prefix LM + Casual with prefix - Corruption 💬 PLM 춘추 전국 시대에서 '나 이렇게 Pretrain을 잘했어'가 아니라 span을 몇개, corruption을 어떻게 등 구체적인 실험을 진행해서 논문이 길어진 것이다. 실험을 선별해서 보는 게 중요하고, intro에서 흐름을 잘 느껴라! Introduction 최근 NLP task에..

AI TECH/논문 2023.01.02

[논문리뷰] BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension

Introduction 1) 논문이 다루는 task 본 논문에서는 seq-to-seq 모델로 만든 denoising autoencoder인 Bidirectional and Auto-Regressive Transformers, BART를 제안한다. - input: 손상된 문장 - output: 복원된 문장 BART의 학습은 아래의 두 단계로 이루어졌다. 임의의 noising function으로 텍스트를 변형시킨다. 이를 원래대로 복원하도록 모델을 학습시킨다. BART는 Transformer 기반 표준 NMT(Neural Machine Translation) 구조를 가지며 BERT와 GPT 및 많은 사전학습 schemes를 일반화한 모델이라 할 수 있다. BART의 장점은 noising할 때 제약 없이 다양..

AI TECH/논문 2023.01.02

[논문리뷰] ODQA/Latent Retrieval for Weakly Supervised Open Domain Question Answering

💬 표시는 스터디 시간에 다룬 멘토님의 코멘트, 질의응답 내용을 달아둔 것이다. 💬 BERT의 3저자가 이 논문의 1저자이다. Introduction ODQA의 기존 연구 한계점 1. Given-evidence to open corpus 현실에서는 답변을 위한 evidence가 데이터 셋에 함께 주어지지 않는 게 일반적이다. 2. Reliance on IR system(Information Retrieval) search space를 줄이기 위해 IR system의 결과물에 의존하게 된다. 그러나 IR과 QA는 다르다. QA는 IR보다 더 많은 language understanding 능력이 필요하다. 3. QA에서 사용자는 상대적으로 명확하게 알려지지 않는 정보를 질문하기 때문에 IR 시스템에서 데이터..

AI TECH/논문 2022.12.22

[논문리뷰] DPR/Dense Passage Retrieval for Open-Domain Question Answering

https://prefer-all.tistory.com/326 위 게시글에서 Passage Retrieval에 관한 내용을 정리했기에, 해당 포스팅은 DPR의 구체적인 방법론 위주로 서술한 포스팅이다. 💬 표시는 스터디 시간에 다룬 멘토님의 코멘트, 질의응답 내용을 달아둔 것이다. Introduction Open-Domain Question Answering은 후보 context를 선택하기 위한 Passage Retrieval(문단 검색)이 중요하다. 기존에는 TF-IDF나 BM25같은 sparse vector space model을 사용하지만 본 논문에서는 dual-encoder를 통해 적은 양의 데이터로 학습된 dense representation을 사용한 retrieval을 제안한다. Related..

AI TECH/논문 2022.12.21

Passage Retrieval

1. ODQA란 2. Passage Retrieval - Sparse Embedding 3. Passage Retrieval - Dense Embedding QA(Question Answering) 다양한 종류의 질문에 대해 대답하는 인공지능을 만드는 연구 분야 Open-Domain Question Answering (ODQA) 주어지는 지문이 따로 존재하지 않고 사전에 구축되어있는 Knowledge resource 에서 질문에 대답할 수 있는 문서를 찾는다. two stage: 1. 질문에 관련된 문서를 찾아주는 "retriever" 2. 관련된 문서를 읽고 적절한 답변을 찾거나 만들어주는 "reader" Passage Retrieval 질문(query)에 맞는 문서(passage)를 찾는 것 Quer..

AI TECH 2022.12.20