전체 글65 [논문] BART 리뷰 요약 분야에서 BERT와 같은 인코더 모델은 원본 텍스트의 일부 문장을 선택하는 추출 요약에서 우수한 성능을 보이지만, 텍스트를 생성해야 하는 생성 요약에는 적합하지 않다. 반면, GPT와 같은 디코더 모델은 텍스트 생성에는 적합하지만, 학습 시 단방향의 정보만을 이용하는 단점이 있다. 이러한 이유로 생성 요약과 같은 태스크에는 인코더와 디코더를 활용한 사전학습된 시퀀스 투 시퀀스 모델을 사용한다. 이러한 모델의 시초가 되는 BART에 대해 알아보자. 0-1. Abstract & Introduction BART는 본질적으로 인코더와 디코더가 있는 트랜스포머 모델이다. 임의의 노이즈 함수로 손상된 텍스트를 인코더에 입력하고 인코더는 주어진 텍스트의 표현을 학습시키고 그 표현을 디코더로 보낸다. 디코더는 인.. 딥러닝/NLP 2023. 3. 24. [책] 혼자 공부하는 데이터 분석 with 파이썬 TL; DR 요즘 Python, R, Tableau 등 수많은 데이터 분석 툴들이 있지만, 이를 다루기 위해선 꼭 필요한 지식들을 다루고 있다. 대부분의 비전공자가 파이썬 데이터 분석으로 프로그래밍에 입문하는 만큼 를 보고, 이 책을 이어서 읽으면 많은 도움이 될 것 같다. Introduce 위키피디아에서는 데이터 분석을 '유용한 정보를 발견하고 결론을 유추하거나, 의사 결정을 돕기 위해 데이터를 조사, 정제, 변환, 모델링하는 과정'으로 정의한다. 데이터 분석은 다양한 접근 방법과 형태로 여러 비즈니스와 과학 분야에서 사용한다. 그럼 데이터 분석가는 무엇을 하는 사람일까? 해당 비즈니스 문제에 대해 깊은 이해를 하고 있으면서, 프로그래밍 기술을 갖추고 있고 통계학을 이해하면서 정보를 시각적으로 잘 표현.. 서평 2023. 2. 19. [Python] 대체 파이썬 인터프리터 파이썬 공식 문서에서 소개하는 대체 파이썬 인터프리터들은 다음과 같다. CPython : 파이썬 프로그래밍 언어의 규범적인 구현이며, python.org에서 배포된다. (GIL : O) Jython : Java로 구현된 파이썬. 이 구현은 Java 응용 프로그램용 스크립팅 언어로 사용하거나 Java 클래스 라이브러리를 사용하여 응용 프로그램을 만드는 데 사용할 수 있다. 또한 Java 라이브러리에 대한 테스트를 만드는 데 자주 사용된다. 현재 릴리즈는 Python2에서만 지원한다. (GIL : X) Python for .NET : 이 구현은 실제로 CPython 구현을 사용하지만 .NET 개발자를 위한 매니지드(managed) .NET 응용 프로그램과 .NET API 등 강력한 스크립팅 도구를 제공한다... 프로그래밍 언어/파이썬 2023. 2. 16. [Python] 파이썬 GIL이란? 기본 Python 구현 python.org에 배포된 Python 프로그래밍 언어의 정식 구현체이자, 우리가 일반적으로 사용하는 파이썬은 C 언어로 작성된 CPython이다. Python은 인터프리터 프로그래밍 언어이며, Python 코드는 PVM(Python Virtual Machine)이라고 하는 가상 머신에서 컴퓨터가 읽을 수 있는 바이트코드 명령어로 컴파일된다. 우리가 일반적으로 볼 수 있는 .pyc 파일이나 __pycache__ 폴더가 가상 머신에서 해석되는 바이트코드이다. 우리는 흔히 "Python의 모든 것은 객체다." 라는 말을 들어보았을 것이다. int 와 str 과 같은 유형도 객체이다. CPython의 구현 수준에서는 이는 올바른 정의이며, 이 안에는 다른 모든 객체가 사용하는 PyOb.. 프로그래밍 언어/파이썬 2023. 2. 14. [OS] 멀티 프로세스 & 멀티 스레드 with Python 프로세스 · 스레드 프로세스가 디스크로부터 메모리에 적재되어 실행 중인 프로그램이라면 스레드는 프로그램을 실행하는 주체이다. 프로세스는 Code, Data, Stack, Heap의 구조로 된 독립된 메모리 영역을 할당받는다. 이들은 서로 격리되어 있으며, 별도의 고유한 주소 공간을 가진다. 운영 체제는 각 프로세스에 대한 완전한 정보를 유지관리하기 위해 데이터 구조를 사용하는데, 이를 PCB(Process Control Block)이라고 한다. 프로세스가 서로 독립적이기 때문에 IPC를 사용한 통신을 한다. 컨텍스트 스위치 비용이 비싸다. 동기화 작업이 필요 없다. 스레드는 경량화된 프로세스이다. 한 프로세스 내에서 Stack만 할당받고, Code, Data, Heap 영역을 서로 공유한다. 공유된 자원.. 카테고리 없음 2023. 1. 18. [OS] 컨텍스트 스위치(Context Switch)란? 컨텍스트 스위치 란 CPU를 한 프로세스 또는 스레드에서 다른 프로세스 또는 스레드로 전환하는 것이다. 여러 프로세스가 단일 CPU 리소스를 공유할 수 있도록 CPU의 상태(컨텍스트)를 PCB에 저장하고 복원하는 컴퓨팅 프로세스이다. 컨텍스트 스위치는 커널 모드에서만 발생한다. 커널 모드는 커널만 실행되고 모든 메모리 위치 및 기타 모든 시스템 리소스에 대한 액세스를 제공하는 CPU의 특권 모드이다. 컨텍스트 스위치가 발생하는 세 가지 시점 1. 멀티태스킹 (Multitasking) 멀티태스킹은 여러 프로세스가 서로 간섭하지 않고 단일 CPU에서 겉보기에 동시에 실행되는 것처럼 보이는 시스템이다. 이러한 동시성의 환상은 빠른 속도(초당 수십 또는 수백 회)로 발생하는 컨텍스트 스위치를 통해 달성된다. 프.. 카테고리 없음 2023. 1. 15. [책] 데이터로 말한다! 퍼포먼스 마케팅 리뷰 2015년부터 지난 6년간 디지털 마케팅에 있어 가장 핵심이 된 마케팅 기법은 바로 ‘퍼포먼스 마케팅’이었다. 퍼포먼스 마케팅은 말 그대로 ‘성과’를 만들어내는 마케팅이다. 미디어커머스 기업은 데이터를 기반으로 광고를 운영하고 효율적으로 비용을 관리하는 퍼포먼스 마케팅이라는 경쟁적 차별점을 바탕으로 시장에서 상당한 인기를 끌었다. 한동안 업계에서 퍼포먼스 마케터 몸값이 치솟았던 이유도 바로 퍼포먼스 마케터가 이 대박 콘텐츠를 찾는 공식을 학습한 경험자였기 때문이다. 미디어커머스 기업들은 다양한 테스트를 통해 최적의 광고 소재, 즉 대박을 낼 수 있는 콘텐츠를 찾아왔고, 퍼포먼스 마케팅은 축적된 경험이 바로 경쟁력이다. 왜냐하면 누가 얼만큼의 광고 수행을 해봤느냐가 곧 얼마나 많은 ‘이기는 전략'을 가지고.. 서평 2022. 12. 29. [논문] GPT-1 리뷰 BERT와 GPT는 각각 Google과 OpenAI에서 만든 자연어 모델이다. BERT는 트랜스포머의 인코더를, GPT는 트랜스포머의 디코더를 분리해 각각 독자적인 모델로 발전시켰고, 이 둘은 현재까지도 자연어 처리 분야를 양분하고 있으며 그 파생 모델들이 뛰어난 활약을 하고 있다. 따라서 LLM 시대의 서막을 연 GPT-1에 대해 알아보고자 한다. Abstract 자연어 이해는 자연어 추론, 질의 응답, 문서 분류 등 광범위한 다양한 작업으로 구성된다. 그러나 레이블이 없는 텍스트 말뭉치는 풍부하지만 특정 작업(target task)을 학습하기 위한 레이블이 지정된 데이터는 부족하여 각각의 태스크에 파인 튜닝을 적절하게 수행하기 어려웠다. 따라서 레이블이 없는 텍스트의 다양한 말뭉치에서 언어 모델을 프.. 딥러닝/NLP 2022. 12. 12. [책] 적정 소프트웨어 아키텍처 스타트업에서의 개발은 초기의 시스템의 설계를 완벽하게 하여 개발을 시작하기 보다는, 당장에 결과물을 보여줘야 하는 경우가 많다. 시간이 지나면서 이러한 시스템을 만든 개발자는 이 시스템에 대해 점점 더 잘 이해하게 된다. 처음에는 시스템에 관한 지식이나 이해가 부족할 수 밖에 없다가 코드가 최상의 설계를 기반으로 하지 않는다는 사실을 인식했을 때 코드를 리팩토링하여 유지 관리할 수 있어야 한다. 여기서 말하는 바는 두 가지이다. 설계는 프로세스의 앞부분에서만 진행하는 작업이 아니다. 최선의 선택을 하려면 프로젝트 앞부분에 미리 시간을 투자하는 편이 합리적이지만, 프로젝트 시작 후에도 시간을 할애해야 한다. 실패 리스크 때문에 아키텍처 리팩토링을 해야할 수 있다. 구현을 완료할 때 쯤이면 거의 모든 시스템.. 서평 2022. 11. 26. BERT 활용하기 사전 학습된 BERT 모델 탐색 BERT를 처음부터 사전 학습 시키는 것은 계산 비용이 많이 든다. 따라서 사전 학습된 공개 BERT 모델을 다운로드해 사용하는게 효과적이다. 사전 학습된 모델은 BERT-uncased 및 BERT-cased 형식으로도 제공된다. BERT-uncased 에서는 모든 토큰이 소문자이지만 BERT-cased 에서는 토큰에 대해 소문자화를 하지 않은 상태로 학습을 진행한 모델이다. 대소문자를 보존해야 하는 개체명 인식(Named Entity Recognition)과 같은 특정 작업을 수행하는 경우 BERT-cased 모델을 사용해야 한다. 이와 함께 구글은 전체 단어 마스킹(WWM) 방법을 사용해 사전 학습된 BERT 모델도 공개했다. 사전 학습된 모델을 다음 두 가지 방법으로.. 딥러닝/NLP 2022. 11. 19. BERT 정리 Introduce BERT(Bidirectional Encoding Representation from Transformer)는 구글에서 발표한 임베딩 모델이다. 질의 응답, 텍스트 분류, 정보 추출 등과 같은 태스크에서 가장 좋은 성능을 도출해 자연어 처리 분야에 크게 기여해왔다. BERT가 성공한 주된 이유는 문맥이 없는 Word2Vec과 같은 다른 인기 있는 임베딩 모델과 달리 문맥을 고려한 임베딩 모델이기 때문이다. A : He got bit by python B : Python is my favorite programming language A 문장에서 ‘파이썬’이라는 단어는 뱀의 한 종류를 의미하고 B 문장에서는 ‘파이썬’이라는 단어는 프로그래밍 언어를 의미한다. Word2Vec과 같은 임베딩.. 딥러닝/NLP 2022. 11. 15. [책] 전문가를 위한 C 서론 C 언어는 시스템 자원을 관리하는 운영체제 개발을 위해 만들어진 언어이다. 따라서 하드웨어를 제어하고 실행 효율을 높여야 하는 곳에 주로 쓰인다. 우리 주위에서 흔히 볼 수 있는 신호등, 자동차의 중앙 컴퓨터(CPU), 주방의 전자레인지, 스마트폰의 운영체제 등 별생각 없이 봤던 다른 장치 모두 C로 작성된 소프트웨어를 사용한다. C는 죽은 언어라는 오해와 일부 기술 전문가들의 무시에도 불구하고, 티오베에서 확인할 수 있는 티오베 지수는 이를 반증한다. C는 자바와 함께 지난 15년간 가장 인기 있는 언어였다. 그리고 최근 몇 년 동안 인기가 더 높아지고 있다. 전문가를 위한 C 이 책은 C 언어라는 만만치 않은 주제에 Extream C 라는 원서의 제목에 맞게 C 언어의 모든 부분을 다룬다. 따라.. 서평 2022. 10. 24. 이전 1 2 3 4 5 6 다음 반응형