Jost Do It.

그냥 IT해.

반응형

Study 32

[GPT] token 수 계산하기

개요GPT 모델은 input과 output의 토큰 수에 따라 비용을 다르게 책정하고 있다.여기서 한글은 보통 글자 하나가 토큰 1개로 계산되는 반면, 영어 같은 경우는 단어들이 토큰 1개로 계산되는 경우가 많다. 문제 상황문서를 요약하기 위해 GPT를 사용 중인데, 일부 문서는 GPT 모델에서 허용하는 최대 토큰 수를 넘는 경우가 있었다.따라서 문서의 내용을 잘라내서 GPT에 입력해야 했는데, 내용을 최대한 반영하기 위해 token 수를 계산할 필요가 있었다. 방법구글링해보니 GPT에 사용된 tokenizer 인코딩 방식이 오픈돼 있었고, tiktoken 라이브러리를 통해 토큰 수를 계산할 수 있다.최신 버전 GPT-4o의 경우 "o200k_base" 인코딩 방식이 적용돼 있다고 한다 (그 외 모델의 인..

Study/딥러닝 2024.07.02

[대화형 AI] TaskWeaver에 대해 알아보자.

개요 MS 대화형 AI는 서비스 제품인 1. MS Copilot과 오픈소스로 공개된 2. TaskWeaver, 3. AutoGen 으로 나뉩니다. 그 중 TaskWeaver에 대해 알아봅시다. 2. TaskWeaver 오픈소스 소개 Task Weaver는 데이터 분석 작업을 목적으로 개발된 AI입니다. 사용자의 프롬포트에서 요청을 해석하고, 실행 가능한 코드 스니펫을 생성해 사용자에게 결과와 함께 제공합니다. 데이터 분석 결과와 함께 관련 코드까지 제공한다는 장점이 있습니다. UI 인터페이스도 제공할 수 있습니다. 오픈소스 특징 Task Weaver는 2개의 대화형 AI에 각각 역할을 설정해 AI간 대화(interaction)를 통해 프롬포트 결과를 출력합니다. Planner: 사용자가 입력한 프롬포트를..

Study/딥러닝 2024.03.16

[대화형 AI] Microsoft Copilot에 대해 알아보자.

개요MS 대화형 AI는 서비스 제품인 1. MS Copilot과 오픈소스로 공개된 2. TaskWeaver, 3. AutoGen 으로 나뉩니다. 그 중 MS Copilot에 대해 알아봅시다. 1. MS Copilot서비스 소개Copilot은 MS사의 여러 제품에 최적화된 대화형 AI 챗봇을 범용적으로 부르는 이름입니다.크게 윈도우 11 Copilot, 앱 전용 Copilot, Bing Copilot 3가지로 나뉩니다.현재 윈도우 11은 프리뷰로 일부 유저만, Bing Copilot은 웹에서 사용이 가능합니다. 앱전용은 앱마다 사용 권한이 다르게 설정돼 있습니다.서비스 특징Copilot 지원 대상 앱Word, PowerPoint, Excel, Teams, Github, Outlook, OneNote, …한..

Study/딥러닝 2024.03.11

[ChatGPT] Error code 400 Failed to index file: Unsupported file 문제

문제 상황 GPT 어시스턴트에 파일을 넣어서 "retrival" 기능을 이용하는 코드를 다음과 같이 짰다. 참고로 파일 형식은 .txt이다. file = client.files.create( file=open(file_path, "rb"), purpose='assistants' ) assistant = client.beta.assistants.create( instructions=roleA, model="gpt-4-turbo-preview", tools=[{"type": "retrieval"}], ) thread = client.beta.threads.create( messages=[ { "role": "user", "content": prompt_text, "file_ids": [file.id] } ]..

Study/딥러닝 2024.03.05

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 13 교착 상태

Chapter 13. 교착 상태 요약 교착 상태의 정의와 발생 원인을 학습하고, 이를 해결하는 방법에 대해 알 수 있었다. 내용 정리 13-1. 교착 상태란 교착 상태(deadlock) 두 개 이상 프로세스가 각자 자원을 점유하고, 서로의 자원을 요구할 때에 더 이상 프로세스 진행이 불가해진다. 즉, 서로의 종료만을 기다리며 진행이 멈춰버릴 때 교착 상태가 발생한다. 식사하는 철학자 문제(dining philosophers problem) 교착상태를 잘 설명하는 예시 철학자는 프로세스 또는 쓰레드, 포크는 자원, 생각하는 행위는 자원을 기다리는 것으로 이해할 수 있다. 포크는 한 번에 한 스레드에만 접근할 수 있으니 임계 구역으로 생각할 수 있다. 식사하는 철학자 문제 과정 모든 철학자는 원형 테이블에 ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 12 프로세스 동기화

Chapter 12. 프로세스 동기화 요약 프로세스 동기화의 의미와 다양한 기법들에 대해 알 수 있었다. 내용 정리 12-1. 동기화란 동기화의 의미 프로세스 동기화(synchronization) 프로세스 사이 수행 시기를 설정하는 것 동시다발적으로 실행되는 프로세스들은 독립적이거나, 서로 정보를 주고받고 협력할 수 있다. 서로 영향을 주는 프로세스들은 실행 순서와 자원 사용의 일관성을 보장해야 하기에 동기화 돼야 한다. 참고> 프로세스 뿐 아니라 스레드도 동기화의 대상이다. 즉, 실행의 흐름을 갖는 모든 것은 동기화 대상이다. 프로세스 동기화 시 요구조건 실행 순서 제어: 프로세스를 올바른 순서로 실행 상호 배제: 동시에 접근하면 안되는 자원에 하나의 자원만 접근할 수 있도록 하기 1. 실행 순서 제어..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 11 CPU 스케줄링

Chapter 11. CPU 스케줄링 요약 CPU 스케줄링의 개념과 방법들에 대해 공부할 수 있었다. 내용 정리 11-1. CPU 스케줄링 개요 CPU 스케줄링 CPU 스케줄링 (CPU scheduling) 운영체제가 프로세스들에게 정해진 규칙으로 CPU 자원을 배분하는 것 CPU 스케줄링에 따라 컴퓨터 성능에 큰 영향을 미침 반드시 실행되야 할 프로그램이 적절히 실행되야 함 급한 프로세스는 우선 실행되고, 급하지 않은 프로세스들은 차선으로 실행할 수 있어야 함 프로세스에 CPU 자원 배분이 질서적으로 가능해야 함 프로세스 우선순위 프로세스 프로세스는 일의 중요도에 따라 우선순위가 존재한다. 우선순위가 높은 프로세스: 우선순위가 낮은 프로세스들 보다 빨리 처리 되야 하는 프로세스 프로세스는 실행 상태와 ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 10 프로세스와 스레드

Chapter 10. 프로세스와 스레드 요약 운영체제가 프로세스를 관리하는 방식을 알 수 있었고, 프로세스와 스레드의 차이에 대해 배울 수 있었다. 내용 정리 10-1. 프로세스 개요 프로세스(process) 보조기억장치에 저장된 프로그램을 메모리에 적재하고 실행할 때의 프로그램 프로세스를 생성한다 고 표현함 프로세스 확인하기 윈도우: 작업 관리자 -> 프로세스 탭 유닉스 체계: ps 명령어 프로세스 유형 포그라운드 프로세스(foreground process): 사용자가 보는 앞에서 실행되는 프로세스 백그라운드 프로세스(background process): 사용자가 보지 못하는 뒤편에서 실행되는 프로세스 사용자와 상호작용하는 백그라운드 프로세스와 그렇지 않은 프로세스가 있다. 데몬(demon): 유닉스 ..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 9 운영체제 시작하기

Chapter 9. 운영체제 시작하기 요약 운영체제의 개요와 운영체제가 하드웨어의 시스템을 어떻게 통제하는지 이해할 수 있었다. 내용 정리 09-1. 운영체제를 알아야 하는 이유 운영체제란 운영체제(Operating system) 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 프로그램 시스템 자원: 프로그램 실행에 필요한 요소들로 줄여서 자원이라고도 부름 근본 프로그램이기 때문에 컴퓨터가 부팅될 때 메모리의 커널 영역 내에 따로 적재돼 실행된다. 커널 영역(kernel space): 운영체제가 메모리에 적재되는 공간 사용자 영역(user space): 커널 영역을 제외한 영역으로 사용자가 이용하는 응용 프로그램이 적재되는 공간 응용 프로그램(application softw..

[컴퓨터 구조] 혼자 공부하는 컴퓨터구조 + 운영체제 Chapter 8 입출력장치

Chapter 8. 입출력장치 요약 입출력장치가 컴퓨터와 소통하는 방법을 알 수 있었다. 내용 정리 08-1. 장치 컨트롤러와 장치 드라이버 입출력장치가 다루기 까다로운 이유 1. 입출력 장치의 종류가 너무 많다. 다양한 입출력장치와 정보를 주고받는 방식을 규격화하기 어렵다. 장치마다 속도, 데이터 전송 형식 등이 모두 달라지게 된다. 2. 입출력장치의 데이터 전송률이 CPU, 메모리에 비해 낮다. 전송률(transfer rate): 데이터를 얼마나 빨리 교환할 수 있는지 나타내는 지표 전송률의 차이는 CPU와 메모리, 입출력장치간 통신이 어렵게된다. 장치 컨트롤러를 통해 위 한계를 극복한다. 장치 컨트롤러(device controller) 입출력장치는 컴퓨터와 직접적으로 연결하지 않고, 장치 컨트롤러라..

반응형