전체 글59 [책] 챗GPT API를 활용한 챗봇 만들기 리뷰 ChatGPT가 우리에게 충격을 주었던 까닭은 ‘대화’라는 형식을 사용했기 때문이다. 인간이 사고하거나 세상과 소통하는 수단이 바로 언어이기 때문에 AI는 챗봇 형태로 발전할 가능성이 크다. 이 책은 자신만의 챗봇을 만들어가면서 Agent, Memory, Assistant API, 그리고 GPTs와 같은 기술들을 활용하여 자신만의 학습 스택을 구축해 나갈 수 있는 내용을 다룬다. 파이썬 기초 나만의 챗봇 만들기에 적합하게 쓸 만큼만 배우는 파이썬에 걸맞게 최소한의 파이썬 문법만 알려주고 있다. 간단한 데이터 타입 및 포맷팅 리스트, 딕셔너리, 셋, 튜플과 같은 컬렉션 조건문과 반복문, 함수, 클래스 그 밖의 데코레이터와 어노테이션, 타입 힌트 등을 설명하고 있다. 프롬프트 엔지니어링의 기초 프롬프트의 구.. 서평 2024. 4. 24. [책] 실무로 통하는 인과추론 with 파이썬 개요 새로운 프로젝트를 시작하거나 서비스를 도입할 때, 모델 선택, VRAM 용량, 자원 확보 등의 기술적인 요소들이 우선적으로 고려된다. 하지만 실제로 중요한 것은 주어진 일정 내에 서비스를 구현하거나 원하는 기능을 만드는 것만이 아니라 데이터 확보 및 관리, 외부 요인 분석 등의 인과추론 역시 성공적인 프로젝트를 위해 필수적인 역할을 한다. 성공적인 테크 기업들은 A/B 테스트, 스위치백, 통제집단합성법 등 다양한 인과추론 방법론을 적용하고 개발하여 시장, 제품, 사용자에 대한 이해를 높인다. 이러한 접근 방식은 까다롭고 복잡할 수 있지만, 기업의 성장과 발전에 필수적인 역할을 합니다. 이 책은 데이터 사이언티스트의 시각에서 인과추론의 기초부터 심화까지 다루는 전문 서적이다. 다양한 실제 사례를 통해.. 서평 2024. 3. 24. [책] 쉽고 빠르게 익히는 실전 LLM 리뷰 트랜스포머 아키텍처 2017년 Google Brain 팀에서 발표한 딥러닝 모델이다. 학계와 산업에서 다양한 자연처 처리 작업을 다루는데 표준이 되었다. LLM은 대부분 트랜스포머 아키텍처를 기반으로 한 AI 모델로, 간단한 텍스트 분류부터 텍스트 생성까지 다양한 언어 관련 작업을 높은 정확도와 유창하고 유려하게 수행할 수 있다. LLM이란 LLM에 대한 정의를 설명하기 위해 다음과 같은 특징들을 설명하고 있다. 시퀀스 투 시퀀스 인코더 디코더 자기회귀 모델, 자동 인코딩 모델, 자기회귀와 자동 인코딩의 조합 사전학습 (pre-training), 전이학습 (Transfer Learning), 파인튜닝 (Fine-Tuning) 정렬 + RLHF 등… BERT, GPT, T5와 같은 언어 모델부터 Align.. 서평 2024. 2. 24. [책] 팀 개발을 위한 Git, GitHub 시작하기(개정판) 리뷰 Git은 유명한 리눅스 창시자 리누스 토발즈가 리눅스의 소스 코드를 관리하기 위해 만들었다. 오늘날 Git은 빠른 응답성, 브랜치 관리의 편리함, 협업 뿐만 아니라 개인 작업 시에도 다양하게 사용되며, GitHub의 등장으로 Git은 개발자에게 필수적인 도구가 되었다. Git은 강력하고 편리하지만 여전히 입문자에게는 어려운 도구이다. 이 책에서는 소스트리를 이용하여 Git을 사용하는 방법을 설명한다. 1부에서는 GUI를 사용하고, 2부에서는 CLI를 사용한다. 입문자는 1부 GUI 부분만 익히면 Git과 GitHub를 사용하는 데 큰 어려움이 없을 것이다. 재미있는 사실은 책에서는 고작 8개의 CLI 명령어를 사용하지만 우리가 실무에서 사용할 거의 모든 것이라는 점이다. 이 책의 장점은 다음과 같다. G.. 서평 2023. 6. 25. [책] 추천 시스템 입문 AI에 의한 초개인화는 지난 2020년부터 일정한 트렌드로 자리잡고 있다. ‘개인화’가 애플리케이션에 의해 데이터를 기반으로 알고리즘을 만드는 것이라면, ‘초개인화’는 개인의 취향이나 관심사를 반영해 맞춤형 서비스를 제공한다는 점에서 다르다. 따라서 ‘초개인화’ 시대에 걸맞은 추천 알고리즘을 기업의 필수적인 마케팅 요소로 꼽고 있다. 대표적인 추천 알고리즘에는 콘텐츠 기반 필터링과 협업 필터링이 있다. 이 책에서는 더불어 회귀, 행렬 분해, LDA, Word2Vec, 딥러닝을 활용한 방법 등을 실습을 통해 소개하고 있다. 하지만 조심해야 할 부분도 있다. 필요 이상 고도의 알고리즘을 선택하지 않도록 의식하는 것이 중요하며, 과도한 개인화는 사용자가 스스로 인식한 것 이상으로 서비스에 정보를 빼앗기고 있다.. 서평 2023. 5. 27. [책] 머신러닝 시스템 설계 서론 몇 년 전부터 전 세계적으로 MLOps는 AI 개발에서 큰 화제가 되고 있다. 스탠퍼드 대학의 ‘앤드류 응(Andrew Ng)’ 교수는 MLOps에 대해서 다음과 같이 말했다. 모델 중심 AI 시대가 아닌 데이터 중심의 AI 시대가 도래할 것이다. 따라서 체계적인 데이터 관리를 위해 MLOps가 중요하다. 그렇다면 MLOps란 무엇일까? MLOps는 ML 시스템 개발(Dev)과 ML 시스템 운영(Ops)을 통합한 것으로, 데이터 레이블링의 일관성을 위해 인프라를 만들어 자동으로 운영되도록 만드는 역할을 한다. 데이터의 품질을 높이려면 데이터의 양만큼이나 질도 중요하기 때문에 데이터를 체계적으로 관리하고 개선시키는 MLOps의 중요성이 강조되고 있다. 이 책은 스탠퍼드 대학의 ‘CS 329S: Mac.. 서평 2023. 4. 23. [논문] 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. 이전 1 2 3 4 5 다음 반응형