Vertex AI 공부하기 (2) Model Garden
Model Garden의 AI 모델 살펴보기
Google Cloud 콘솔의 Model Garden은 Google 독점 정보를 검색, 테스트, 맞춤설정, 배포하고 OSS 모델 및 애셋을 선택할 수 있도록 지원하는 ML 모델 라이브러리입니다.
모델 살펴보기
사용 가능한 Vertex AI 및 오픈소스 기반, 조정, 작업별 모델 목록을 보려면 Google Cloud 콘솔의 Model Garden 페이지로 이동합니다.
Model Garden에서 사용할 수 있는 모델 카테고리는 다음과 같습니다.
카테고리 | 설명 |
---|---|
기반 모델 | Generative AI Studio, Vertex AI API, Python용 Vertex AI SDK를 사용하여 특정 태스크에 대해 조정하거나 맞춤설정할 수 있는 사전 학습된 멀티태스크 대규모 모델입니다. |
미세 조정 가능한 모델 | 커스텀 노트북이나 파이프라인을 사용하여 미세 조정할 수 있는 모델입니다. |
태스크별 솔루션 | 이러한 사전 빌드된 모델 중 대부분은 즉시 사용할 수 있습니다. 많은 경우 자체 데이터를 사용하여 맞춤설정할 수 있습니다. |
필터 창에서 모델을 필터링하려면 다음을 지정합니다.
모델: 원하는 모델 유형을 클릭합니다.
태스크: 모델로 수행할 태스크를 클릭합니다.
기능: 모델에서 지원하려는 기능을 클릭합니다.
각 모델에 대해 자세히 알아보려면 모델 카드를 클릭하세요.
PaLM 2 Text Bison
Fine-tuned to follow natural language instructions and is suitable for a variety of language tasks, such as: classification, extraction, summarization and content generation.
Overview
text-bison is the name of the PaLM 2 Text Bison large language model that understands and generates language. It's a foundation model that performs well at a variety of natural language tasks such as
. The type of content that text-bison can create includes document summaries, answers to questions, and labels that classify content.
ex)
Prompt: Suggest the most easiest way to learn python
Response: (markdown) The most easiest way to learn Python is:1. **Find a good resource.** There are many great resources available online and in libraries to help you learn Python. Some popular options include:* **Online tutorials:**- Codecademy- Khan Academy- Udacity* **Books:**- "Python for Everyone" by Cay S. Horstmann- "Head First Python" by Paul Barry- "Automate the Boring Stuff with Python" by Al Sweigart2. **Start with the basics.**Don't try to learn everything at once. Start with the fundamental concepts of Python, such as variables, data types, and control flow.3. **Practice, practice, practice.** The best way to learn Python is to write code. Try to write code every day, even if it's just a few lines.4. **Don't be afraid to ask for help.** If you're stuck on a problem, don't hesitate to ask for help from a friend, family member, or online forum.5. **Have fun!** Learning Python should be enjoyable. If you're not having fun, you're less likely to stick with it. So find projects that you're interested in and that challenge you.Here are some additional tips that may be helpful:* **Use a code editor.** A code editor is a text editor that is specifically designed for writing code. Code editors typically have features that make it easier to write and debug code, such as syntax highlighting and code completion.* **Use a debugger.** A debugger is a tool that allows you to step through your code line by line and inspect the values of variables. This can be very helpful for finding and fixing bugs in your code.* **Version control.** Version control is a system that allows you to track changes to your code over time. This can be very helpful for keeping track of your progress and for rolling back to previous versions of your code if necessary.
This model card also contains text-unicorn, the largest model in the PaLM family. Unicorn models excel at complex tasks, such as coding and chain-of-thought (CoT), due to the extensive knowledge embedded into the model and its reasoning capabilities.
ex)
Prompt: Suggest the most easiest way to learn python
Response: Here are some of the easiest ways to learn Python:\n\n1. Interactive tutorials: There are many interactive tutorials available online that can teach you the basics of Python in a fun and engaging way. These tutorials often use games or puzzles to help you learn the syntax and concepts of the language.\n\n
Prompt: can you write me a python code for simple todo app like akiflow
Here is a Python code for a simple todo app like Akiflow:
class TodoItem:def __init__(self, task, due_date, priority):self.task = taskself.due_date = due_dateself.priority = priorityResponse:
<토큰값을 상향>
Response:
Here is a Python code for a simple todo app like Akiflow:```pythonclass TodoItem:def __init__(self, task, due_date, priority):self.task = taskself.due_date = due_dateself.priority = prioritydef __repr__(self):return f"{self.task} - {self.due_date} - {self.priority}"class TodoApp:def __init__(self):self.todo_items = []def add_item(self, task, due_date, priority):self.todo_items.append(TodoItem(task, due_date, priority))def delete_item(self, item_index):del self.todo_items[item_index]def mark_item_as_done(self, item_index):self.todo_items[item_index].completed = Truedef get_all_items(self):return self.todo_itemsdef get_completed_items(self):return [item for item in self.todo_items if item.completed]def get_incomplete_items(self):return [item for item in self.todo_items if not item.completed]def sort_items_by_due_date(self):self.todo_items.sort(key=lambda item: item.due_date)def sort_items_by_priority(self):self.todo_items.sort(key=lambda item: item.priority)def main():todo_app = TodoApp()# Add some items to the todo listtodo_app.add_item("Write a blog post", "2023-03-08", 1)todo_app.add_item("Finish project proposal", "2023-03-10", 2)todo_app.add_item("Go grocery shopping", "2023-03-12", 3)# Print all items in the todo listprint("All items:")print(todo_app.get_all_items())# Print completed itemsprint("\nCompleted items:")print(todo_app.get_completed_items())# Print incomplete itemsprint("\nIncomplete items:")print(todo_app.get_incomplete_items())# Sort items by due datetodo_app.sort_items_by_due_date()print("\nItems sorted by due date:")print(todo_app.get_all_items())# Sort items by prioritytodo_app.sort_items_by_priority()print("\nItems sorted by priority:")print(todo_app.get_all_items())if __name__ == "__main__":main()```This code defines a `TodoItem` class that represents a single todo item, and a `TodoApp` class that manages a list of todo items. The `TodoItem` class has three attributes: `task`, `due_date`, and `priority`. The `TodoApp` class has methods for adding, deleting, marking as done, and sorting todo items.The `main()` function creates a `TodoApp` object and adds some items to it. It then prints all the items in the todo list, the completed items, the incomplete items, and the items sorted by due date and priority.You can run this code by saving it to a file (e.g. `todo_app.py`) and running the following command in the terminal:```python todo_app.py```This will output the following:```All items:[Write a blog post - 2023-03-08 - 1, Finish project proposal - 2023-03-10 - 2, Go grocery shopping - 2023-03-12 - 3]Completed items:[]Incomplete items:[Write a blog post - 2023-03-08 - 1, Finish project proposal - 2023-03-10 - 2, Go grocery
The PaLM 2 Text Bison is ideal for tasks that can be completed with one API response, without the need for continuous conversation. For text tasks that require back-and-forth interactions, use the PaLM 2 Chat Bison.
Use cases
Summarization: Create a shorter version of a document that incorporates pertinent information from the original text. For example, you might want to summarize a chapter from a textbook. Or, you could create a succinct product description from a long paragraph that describes the product in detail.
Question answering: Provide answers to questions in text. For example, you might automate the creation of a Frequently Asked Questions (FAQ) document from knowledge base content.
Classification: Assign a label to provided text. For example, a label might be applied to text that describes how grammatically correct it is.
Sentiment analysis: This is a form of classification that identifies the sentiment of text. The sentiment is turned into a label that's applied to the text. For example, the sentiment of text might be polarities like positive or negative, or sentiments like anger or happiness.
Entity extraction: Extract a piece of information from text. For example, you can extract the name of a movie from the text of an article.
Vertex AI 기반 Imagen(이미지 생성형 AI) 개요
Vertex AI 기반 Imagen은 Google의 최첨단 생성형 AI 특성을 애플리케이션 개발자에게 제공합니다. Vertex AI 기반 Imagen을 사용하면 애플리케이션 개발자는 사용자의 상상력을 몇 초 만에 고품질 시각적 애셋으로 변환하는 차세대 AI 제품을 빌드할 수 있습니다.
Imagen을 사용하면 다음을 수행할 수 있습니다.
텍스트 프롬프트(텍스트에서 이미지 생성)만 사용하여 새 이미지를 생성합니다.
텍스트 프롬프트로 업로드되거나 생성된 전체 이미지를 수정합니다.
정의한 마스크 영역을 사용하여 업로드되거나 생성된 이미지의 일부만 수정합니다.
기존, 생성 또는 수정된 이미지를 확대합니다.
이미지 생성에 대한 특정 주제(예: 특정 핸드백 또는 신발)를 사용하여 모델을 미세 조정합니다.
시각적 캡셔닝으로 이미지에 대한 텍스트 설명을 확인합니다.
시각적 질의 응답(VQA)을 사용하여 이미지 관련 질문에 대한 답변을 가져옵니다.
프롬프트에서 Vertex AI 기반 Imagen으로 생성된 이미지: 해변의 프랑스 불독 사진( 85mm f/2.8).
<Vision>
<3으로 늘렸을 때>
<참고>
프롬프트 및 이미지 속성 가이드 | Vertex AI | Google Cloud
<Edit>
negative prompt 사용 (비활성)
seed value 로 variation
scale 조정
배경제거
<limited access>
<신청양식>
<Speech>
(들어보기) 달력 아래 mp3 파일 (달력 url)