AI 부트캠프/챕터2(10.14~11.08) 21

TIL 31

베이직 반 input()과 input().strip()의 차이 아래의 코드들은 각각의 경우에 입력받은 문자열의 앞뒤 공백을 제거하는지 여부를 보여준다.input() 사용 # 사용자가 입력: " Hello, World! "user_input = input()print(f"입력 결과: '{user_input}'")# 출력 결과입력 결과: ' Hello, World! 'input()만 사용하면 입력값의 앞뒤 공백이 그대로 유지된다.input().strip() 사용 # 사용자가 입력: " Hello, World! "user_input = input().strip()print(f"입력 결과: '{user_input}'")# 출력 결과입력 결과: 'Hello, World!'input().str..

TIL 30

생성형 AI를 직접 만들 때 맞닥뜨릴 수 있는 어려움일반적으로 생성형 AI라고 하면, 2가지 종류가 있다. 먼저, 사용자로부터 입력을 받지 않고, 임의의 생성을 해주는 모델이 있다. 그러나 이는 사용자가 원하는 생성을 할 수 없다는 특징 때문에 상대적으로 활용도가 떨어진다. 최근에는 사용자로부터 입력을 받고, 그 입력에 따라 적절한 콘텐츠를 생성해주는 걸 생성형 AI라고 많이 통칭하고 있는 것 같다. 우리가 생성형 AI를 직접 만드는 건 매우 어렵다.why?대규모 데이터와 컴퓨팅 자원이 필요하다. 생성형 AI는 학습하기 위한 데이터의 양이 굉장히 많은 편에 속한다. 또 생성형 AI 모델은 GPU 등 같은 고성능 하드웨어에서 오랜 시간 학습해야 한다. 즉,  데이터 수집 자체도 어려울 뿐더러, 컴퓨팅 자원..

TIL 29

사전 학습 ( Pre-training )사전학습은 대규모 데이터셋을 사용해서 모델을 처음부터 훈련시키는 과정이다. 일반적인 능력을 향상시키는 데 목적을 두고, 이 단계에서는 모델이 일반적인 패턴을 학습해서 다양한 작업을 수행할 수 있는 강력한 기본 표현을 형성하는 데 중점을 둔다.과정을 살펴보면, 사전학습은 일반적으로 대규모 데이터셋이 필요하다. 특히 BERT 모델은 파라미터가 상당히 많기 때문에 학습하기 위한 데이터셋이 크게 요구되는 편이다. 이 데이터셋들은 특정 작업에 국한되지 않고, 예를들어 자연어 처리의 경우에는 수백 혹은 수십억 개의 문장으로 구성돼서 데이터셋을 일반적 형태로 나타내게 된다. 특징을 알아보자. 특징을 살펴보면 알겠지만 사전학습 모델의 목적은 일반 언어의 이해다. 그래서 분류나 감..

TIL 28

Transformer 라이브러리 속에 다양한 NLP 모델들이 있다. 허깅 페이스에 올라온 모델들은 트랜스포머스 라이브러리를 통해 불러와서 편하게 사용할 수 있다. 텍스트를 만드는 언어 생성, 감정을 분석해주는 감정 분석, 번역 등 다양한 작업에 활용할 수 있다. 생성형 모델에는 조건을 주었을 때 따라서 생성해주는 모델인 조건형 모델과 임의의 생성을 해주는 비조건형 모델이 있다.다양한 NLP 모델들 살펴보기텍스트를 생성하는 모델들에 대해 실습을 통해 알아보자.GPT-2 ( Generative Pre-trained Transformer 2 )먼저 우리는 앞 부분 내용을 전달하면 뒷 부분 내용을 작성해주는 사전학습 모델을 활용할 것이다. 우리가 활용할 모델은 GPT-2다.import warningswarnin..

TIL 27

API (Application Programming Interface)서로 다른 소프트웨어, 즉 프로그램이 대화하는 통로라고 할 수 있다. 이 소프트웨어에는 인공지능뿐만 아니라 다양한 많은 소프트웨어가 포함돼있다. 따라서 API 개념을 잘 익히면, 인공지능 활용뿐만 아니라 다른 기능들도 편하게 활용할 수 있을 것이다.더보기API를 좀 더 전문적으로 설명하면, 소프트웨어 어플리케이션의 상호작용을 정의하는 인터페이스라고 할 수 있다. 두 개 이상의 소프트웨어 구성요소가 서로 통신하고, 기능을 공유할 수 있게 규칙과 프로토컬을 제공해준다. 이를 사용하면, 개발자는 복잡한 시스템을 효율적으로 구축할 수 있고, 재사용 가능한 코드를 작성할 수 있다. 또, 다양한 서비스와 통합할 수 있다는 것이 가장 큰 특징 중 ..

TIL 26

AI 활용우리가 AI에 대한 개념이 없어도 AI를 활용할 수는 있다. 그러나 제대로 된 의미있는 서비스를 만들기 위해서는 AI 개념을 바탕으로 AI를 활용해야 한다. 관련 용어들을 살펴보자. API (Application Programming Interface)는 프로그램끼리 통신하는 방법이다. (즉, 프로그램끼리 통신하는 인터페이스.) 다른 사람이 제공하는 서비스를 활용하려고 할 때, 다른 사람이 제공하는 프로그램과 나의 프로그램이 통신해야한다. API는 그 통신 방법 중 하나로, AI 서비스가 가장 많이 제공되는 방식이라고 할 수 있다. 예시로는 Google, ChatGPT, ElevenLabs 등이 있다.더보기구글에서 Vision API를 사용하면 이미지를 분석할 수 있다.ChatGPT API를 사..

TIL 25

강의 외부에서 추가로 알게 된 내용swapcase() 메서드파이썬의 문자열 객체에서 제공하는 메서드로, 문자열의 대문자와 소문자를 서로 변환하는 기능을 수행한다. 이 메서드를 사용하면 각 문자에 대해 대문자는 소문자로, 소문자는 대문자로 바꿀 수 있다. 기본 사용법은 아래의 코드와 같다.string.swapcase()# string 은 변환할 문자열이다. 반환값으로는 변환된 문자열을 반환한다. 예시는 아래와 같다.# 기본적인 대소문자 변환text = "Hello World"result = text.swapcase()print(result) # "hELLO wORLD"# 모든 문자가 소문자인 경우text = "python programming"result = text.swapcase()print(resu..