전체 글 238

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

[Python] 모음사전 / 중복순열

문제 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 입출력 예 word result "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 풀이 itertools.product (중복순열)을 사용한다 ''' A,E,I,O,U..

[Python/DFS,백트래킹] 14888 연산자 끼워넣기

문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다. 1+2+3-4×5÷6 1÷2+3+4-5×6 1+2÷3×4-5+6 1÷2×3-4+5+6 식의 계산은 연산자 우선..

[Python] 성격 유형 검사하기 (쉬움)

문제 나만의 카카오 성격 유형 검사지를 만들려고 합니다. 성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다. 지표 번호 성격 유형 1번 지표 라이언형(R), 튜브형(T) 2번 지표 콘형(C), 프로도형(F) 3번 지표 제이지형(J), 무지형(M) 4번 지표 어피치형(A), 네오형(N) 4개의 지표가 있으므로 성격 유형은 총 16(=2 x 2 x 2 x 2)가지가 나올 수 있습니다. 예를 들어, "RFMN"이나 "TCMA"와 같은 성격 유형이 있습니다. 검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다. 매우 비동의 비동의 약간 비동의 모르겠음 약간 동의 동의 매우 동의 각 질문은 1가지 지표로 성격 유..

[Python] 신고 결과 받기 / defaultdict

문제 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, k = 2(즉,..

[Python/Heap] 디펜스 게임

문제 설명 준호는 요즘 디펜스 게임에 푹 빠져 있습니다. 디펜스 게임은 준호가 보유한 병사 n명으로 연속되는 적의 공격을 순서대로 막는 게임입니다. 디펜스 게임은 다음과 같은 규칙으로 진행됩니다. 준호는 처음에 병사 n명을 가지고 있습니다. 매 라운드마다 enemy[i]마리의 적이 등장합니다. 남은 병사 중 enemy[i]명 만큼 소모하여 enemy[i]마리의 적을 막을 수 있습니다. 예를 들어 남은 병사가 7명이고, 적의 수가 2마리인 경우, 현재 라운드를 막으면 7 - 2 = 5명의 병사가 남습니다. 남은 병사의 수보다 현재 라운드의 적의 수가 더 많으면 게임이 종료됩니다. 게임에는 무적권이라는 스킬이 있으며, 무적권을 사용하면 병사의 소모없이 한 라운드의 공격을 막을 수 있습니다. 무적권은 최대 k..

[논문리뷰] 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