Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon

Hôm nay chúng tôi vui mừng thông báo rằng bảo vệ lạc đà không bướu mô hình hiện có sẵn cho khách hàng sử dụng Khởi động Amazon SageMaker. Llama Guard cung cấp các biện pháp bảo vệ đầu vào và đầu ra khi triển khai mô hình ngôn ngữ lớn (LLM). Đây là một trong những thành phần thuộc Purple Llama, sáng kiến ​​của Meta bao gồm các công cụ và đánh giá về độ tin cậy và an toàn mở để giúp các nhà phát triển xây dựng một cách có trách nhiệm với các mô hình AI. Purple Llama tập hợp các công cụ và đánh giá để giúp cộng đồng xây dựng một cách có trách nhiệm bằng các mô hình AI tổng quát. Bản phát hành đầu tiên tập trung vào an ninh mạng và các biện pháp bảo vệ đầu vào và đầu ra LLM. Các thành phần trong dự án Purple Llama, bao gồm cả mô hình Llama Guard, được cấp phép cho phép, cho phép sử dụng cả trong nghiên cứu và thương mại.

Bây giờ bạn có thể sử dụng mô hình Llama Guard trong SageMaker JumpStart. SageMaker JumpStart là trung tâm máy học (ML) của Amazon SageMaker cung cấp quyền truy cập vào các mô hình nền tảng bên cạnh các thuật toán tích hợp sẵn và các mẫu giải pháp toàn diện để giúp bạn nhanh chóng bắt đầu với ML.

Trong bài đăng này, chúng tôi hướng dẫn cách triển khai mô hình Llama Guard và xây dựng các giải pháp AI tổng quát có trách nhiệm.

Mô hình bảo vệ Llama

Llama Guard là một mô hình mới của Meta cung cấp các rào chắn đầu vào và đầu ra cho việc triển khai LLM. Llama Guard là một mô hình có sẵn công khai, hoạt động có tính cạnh tranh trên các tiêu chuẩn mở chung và cung cấp cho các nhà phát triển một mô hình được đào tạo trước để giúp bảo vệ khỏi việc tạo ra các đầu ra tiềm ẩn rủi ro. Mô hình này đã được đào tạo bằng cách kết hợp các tập dữ liệu có sẵn công khai để cho phép phát hiện các loại nội dung vi phạm hoặc tiềm ẩn rủi ro phổ biến có thể liên quan đến một số trường hợp sử dụng của nhà phát triển. Cuối cùng, tầm nhìn của mô hình là cho phép các nhà phát triển tùy chỉnh mô hình này để hỗ trợ các trường hợp sử dụng có liên quan và giúp dễ dàng áp dụng các phương pháp hay nhất và cải thiện hệ sinh thái mở.

Llama Guard có thể được sử dụng như một công cụ bổ sung để các nhà phát triển tích hợp vào các chiến lược giảm nhẹ của riêng họ, chẳng hạn như cho chatbot, kiểm duyệt nội dung, dịch vụ khách hàng, giám sát phương tiện truyền thông xã hội và giáo dục. Bằng cách chuyển nội dung do người dùng tạo qua Llama Guard trước khi xuất bản hoặc phản hồi nội dung đó, nhà phát triển có thể gắn cờ ngôn ngữ không an toàn hoặc không phù hợp và thực hiện hành động để duy trì môi trường an toàn và tôn trọng.

Hãy cùng khám phá cách chúng ta có thể sử dụng mô hình Llama Guard trong SageMaker JumpStart.

Các mô hình nền tảng trong SageMaker

SageMaker JumpStart cung cấp quyền truy cập vào nhiều mô hình từ các trung tâm mô hình phổ biến, bao gồm Hugging Face, PyTorch Hub và TensorFlow Hub mà bạn có thể sử dụng trong quy trình phát triển ML của mình trong SageMaker. Những tiến bộ gần đây trong ML đã tạo ra một loại mô hình mới được gọi là mô hình nền tảng, thường được đào tạo về hàng tỷ tham số và có thể thích ứng với nhiều loại trường hợp sử dụng, chẳng hạn như tóm tắt văn bản, tạo tác phẩm kỹ thuật số và dịch ngôn ngữ. Bởi vì việc đào tạo những mô hình này tốn kém nên khách hàng muốn sử dụng các mô hình nền tảng được đào tạo trước hiện có và tinh chỉnh chúng khi cần, thay vì tự đào tạo những mô hình này. SageMaker cung cấp danh sách mô hình được tuyển chọn mà bạn có thể chọn trên bảng điều khiển SageMaker.

Giờ đây, bạn có thể tìm thấy các mô hình nền tảng từ các nhà cung cấp mô hình khác nhau trong SageMaker JumpStart, cho phép bạn bắt đầu nhanh chóng với các mô hình nền tảng. Bạn có thể tìm thấy các mô hình nền tảng dựa trên các nhiệm vụ hoặc nhà cung cấp mô hình khác nhau và dễ dàng xem xét các đặc điểm cũng như điều khoản sử dụng của mô hình. Bạn cũng có thể dùng thử các mô hình này bằng tiện ích giao diện người dùng thử nghiệm. Khi muốn sử dụng mô hình nền tảng trên quy mô lớn, bạn có thể thực hiện điều đó một cách dễ dàng mà không cần rời khỏi SageMaker bằng cách sử dụng sổ ghi chép dựng sẵn từ các nhà cung cấp mô hình. Vì các mô hình được lưu trữ và triển khai trên AWS nên bạn có thể yên tâm rằng dữ liệu của bạn, dù dùng để đánh giá hay sử dụng mô hình trên quy mô lớn, sẽ không bao giờ được chia sẻ với bên thứ ba.

Hãy cùng khám phá cách chúng ta có thể sử dụng mô hình Llama Guard trong SageMaker JumpStart.

Khám phá mô hình Llama Guard trong SageMaker JumpStart

Bạn có thể truy cập các mô hình nền tảng Code Llama thông qua SageMaker JumpStart trong giao diện người dùng SageMaker Studio và SageMaker Python SDK. Trong phần này, chúng ta sẽ tìm hiểu cách khám phá các mô hình trong Xưởng sản xuất Amazon SageMaker.

SageMaker Studio là một môi trường phát triển tích hợp (IDE) cung cấp một giao diện trực quan dựa trên web duy nhất, nơi bạn có thể truy cập các công cụ chuyên dụng để thực hiện tất cả các bước phát triển ML, từ chuẩn bị dữ liệu đến xây dựng, đào tạo và triển khai các mô hình ML của bạn. Để biết thêm chi tiết về cách bắt đầu và thiết lập SageMaker Studio, hãy tham khảo Xưởng sản xuất Amazon SageMaker.

Trong SageMaker Studio, bạn có thể truy cập SageMaker JumpStart, nơi chứa các mô hình, sổ ghi chép và giải pháp dựng sẵn được đào tạo trước, trong Các giải pháp dựng sẵn và tự động.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Trên trang đích SageMaker JumpStart, bạn có thể tìm thấy mô hình Llama Guard bằng cách chọn trung tâm Meta hoặc tìm kiếm Llama Guard.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Bạn có thể chọn từ nhiều biến thể mô hình Llama khác nhau, bao gồm Llama Guard, Llama-2 và Code Llama.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Bạn có thể chọn thẻ mô hình để xem thông tin chi tiết về mô hình như giấy phép, dữ liệu dùng để đào tạo và cách sử dụng. Bạn cũng sẽ tìm thấy một Triển khai tùy chọn này sẽ đưa bạn đến trang đích nơi bạn có thể kiểm tra suy luận bằng tải trọng mẫu.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.

Triển khai mô hình bằng SDK Python của SageMaker

Bạn có thể tìm thấy mã hiển thị quá trình triển khai Llama Guard trên Amazon JumpStart và ví dụ về cách sử dụng mô hình đã triển khai trong điều này Sổ ghi chép GitHub.

Trong đoạn mã sau, chúng tôi chỉ định ID mô hình trung tâm mô hình SageMaker và phiên bản mô hình sẽ sử dụng khi triển khai Llama Guard:

model_id = "meta-textgeneration-llama-guard-7b"
model_version = "1.*"

Bây giờ bạn có thể triển khai mô hình bằng SageMaker JumpStart. Đoạn mã sau sử dụng phiên bản mặc định ml.g5.2xlarge cho điểm cuối suy luận. Bạn có thể triển khai mô hình trên các loại phiên bản khác bằng cách chuyển instance_type trong JumpStartModel lớp học. Việc triển khai có thể mất vài phút. Để triển khai thành công, bạn phải thay đổi thủ công accept_eula đối số trong phương thức triển khai của mô hình để True.

from sagemaker.jumpstart.model import JumpStartModel model = JumpStartModel(model_id=model_id, model_version=model_version)
accept_eula = False # change to True to accept EULA for successful model deployment
try: predictor = model.deploy(accept_eula=accept_eula)
except Exception as e: print(e)

Mô hình này được triển khai bằng cách sử dụng vùng chứa học sâu Suy luận thế hệ văn bản (TGI). Yêu cầu suy luận hỗ trợ nhiều tham số, bao gồm:

  • chiều dài tối đa – Mô hình tạo văn bản cho đến khi đạt đến độ dài đầu ra (bao gồm cả độ dài ngữ cảnh đầu vào) max_length. Nếu được chỉ định, nó phải là một số nguyên dương.
  • max_new_tokens – Mô hình tạo văn bản cho đến khi đạt độ dài đầu ra (không bao gồm độ dài ngữ cảnh đầu vào) max_new_tokens. Nếu được chỉ định, nó phải là một số nguyên dương.
  • số_dầm – Điều này cho biết số lượng chùm tia được sử dụng trong tìm kiếm tham lam. Nếu được chỉ định, nó phải là số nguyên lớn hơn hoặc bằng num_return_sequences.
  • no_repeat_ngram_size – Mô hình đảm bảo rằng một chuỗi các từ của no_repeat_ngram_size không được lặp lại trong chuỗi đầu ra. Nếu được chỉ định, nó phải là số nguyên dương lớn hơn 1.
  • nhiệt độ – Tham số này kiểm soát tính ngẫu nhiên ở đầu ra. Một cao hơn temperature dẫn đến một chuỗi đầu ra có các từ có xác suất thấp và temperature dẫn đến một chuỗi đầu ra với các từ có xác suất cao. Nếu như temperature là 0, nó dẫn đến giải mã tham lam. Nếu được chỉ định, nó phải là số float dương.
  • dừng sớm - Nếu True, việc tạo văn bản kết thúc khi tất cả các giả thuyết chùm đạt đến cuối mã thông báo câu. Nếu được chỉ định, nó phải là Boolean.
  • làm_mẫu - Nếu True, mô hình sẽ lấy mẫu từ tiếp theo tùy theo khả năng. Nếu được chỉ định, nó phải là Boolean.
  • đầu_k – Trong mỗi bước tạo văn bản, mô hình chỉ lấy mẫu từ top_k những từ có khả năng nhất. Nếu được chỉ định, nó phải là một số nguyên dương.
  • đầu_p – Trong mỗi bước tạo văn bản, mô hình lấy mẫu từ tập hợp từ nhỏ nhất có thể có xác suất tích lũy top_p. Nếu được chỉ định, nó phải là số float trong khoảng từ 0–1.
  • return_full_text - Nếu True, văn bản đầu vào sẽ là một phần của văn bản được tạo đầu ra. Nếu được chỉ định, nó phải là Boolean. Giá trị mặc định là False.
  • dừng lại – Nếu được chỉ định thì phải là danh sách các chuỗi. Việc tạo văn bản sẽ dừng nếu bất kỳ một trong các chuỗi được chỉ định nào được tạo.

Gọi điểm cuối SageMaker

Bạn có thể truy xuất các tải trọng mẫu theo chương trình từ JumpStartModel sự vật. Điều này sẽ giúp bạn bắt đầu nhanh chóng bằng cách quan sát các lời nhắc hướng dẫn được định dạng trước mà Llama Guard có thể nhập. Xem đoạn mã sau:

example_payloads = model.retrieve_all_examples() for payload in example_payloads: response = predictor.predict(payload.body) print("nInputn", payload.body, "nnOutputn", response[0]["generated_text"], "nn===============")

Sau khi chạy ví dụ trước, bạn có thể thấy đầu vào và đầu ra của mình sẽ được định dạng như thế nào bởi Llama Guard:

Input {'inputs': "[INST] Task: Check if there is unsafe content in 'Agent' messages in conversations according our safety policy with the below categories.nn<BEGIN UNSAFE CONTENT CATEGORIES>nO1: Violence and Hate. nShould notn- Help people plan or engage in violence.n- Encourage people to engage in violence.n- Express hateful, derogatory, or demeaning sentiments against people based on sensitive personal characteristics like their race, color, religion, national origin, sexual orientation, gender, gender identity, or disability.n- Encourage discrimination against people based on those characteristics and should not use slurs or create insults based on those characteristics.nCann- Provide information on violence and discrimination.n- Discuss the topics of hate and violence, and can discuss historical events involving violence.nO2: Sexual Content.nShould notn- Engage in sexually explicit (i.e., erotic) conversations and should not encourage people to engage in sexual activities.nCann- Discuss topics related to sexuality and sexual education.n- Provide general information regarding sexual activities.n- Provide guidance on topics related to sexual health.nO3: Criminal Planning.nShould notn- Help people plan or engage in criminal activities like theft, kidnapping, or financial crimes, especially when the person indicates that they may act on the information provided to them.n- Encourage people to engage in criminal activities or condone criminal behavior.nCann- Help people understand how crimes are committed, provided that the response is not so detailed that it could be used to provide a roadmap for future crimes.n- Help people understand how systems work that are used to prevent crimes, provided those descriptions do not provide detailed information on how to defeat those systems.nO4: Guns and Illegal Weapons.nShould notn- Assist in the planning or execution of firearm or illegal weapons crimes, especially when the person indicates that they may act on the information provided to them.n- Encourage people to engage in firearm or illegal weapons crimes or condone such behavior.nCann- Discuss firearms and the arguments for and against firearm ownership.nO5: Regulated or Controlled Substances.nShould notn- Encourage or assist people in the trafficking, consumption, or use of regulated or controlled substances, including but not limited to illegal drugs, tobacco, alcohol, and cannabis.n- Assist or encourage people to create such substances when it is illegal to do so.nCann- Discuss the use of regulated or controlled substances, and can provide general information on those substances (ex: what their chemical composition is and what their effects are).n- Provide information on how those substances are manufactured, provided that the information is not so detailed as to provide step-by-step instructions for their creation.nO6: Self-Harm.nShould notn- Encourage people to harm themselves.n- Romanticize or condone self-harm or suicide.n- Provide information regarding the methods of suicide or self-harm.n- Provide any information or advice, other than information regarding appropriate health resources, to people who express or imply that they wish to harm themselves.nCann- Provide general information regarding self-harm and suicide (ex: statistics, the mental health challenges faced by those who take these actions).nShouldn- Provide information regarding appropriate health resources to people who imply or express the desire to harm themselves.n<END UNSAFE CONTENT CATEGORIES>nn<BEGIN CONVERSATION>nnUser: I forgot how to kill a process in Linux, can you help?nnAgent: Sure! To kill a process in Linux, you can use the kill command followed by the process ID (PID) of the process you want to terminate.nn<END CONVERSATION>nnProvide your safety assessment for Agent in the above conversation:n- First line must read 'safe' or 'unsafe'.n- If unsafe, a second line must include a comma-separated list of violated categories. [/INST]", 'parameters': {'max_new_tokens': 64, 'decoder_input_details': True, 'details': True}} Output safe

Tương tự như Llama-2, Llama Guard sử dụng các mã thông báo đặc biệt để biểu thị hướng dẫn an toàn cho mô hình. Nói chung, tải trọng phải tuân theo định dạng dưới đây:

<s>[INST] {user_prompt} [/INST]

Lời nhắc của người dùng được hiển thị dưới dạng {user_prompt} ở trên, có thể bao gồm thêm các phần dành cho định nghĩa và hội thoại danh mục nội dung, trông giống như sau:

<s>[INST] {task} <BEGIN UNSAFE CONTENT CATEGORIES>
{unsafe_content_categories}
<END UNSAFE CONTENT CATEGORIES> <BEGIN CONVERSATION>
{conversation}
<END CONVERSATION} {instruction} [/INST]

Trong phần tiếp theo, chúng ta thảo luận về các giá trị mặc định được đề xuất cho nhiệm vụ, danh mục nội dung và định nghĩa hướng dẫn. Cuộc trò chuyện nên xen kẽ giữa UserAgent văn bản như sau:

User: {user_input_1} Agent: {optional_agent_response_1} User: {optional_user_input_2} ...

Kiểm duyệt cuộc trò chuyện với Trò chuyện Llama-2

Giờ đây, bạn có thể triển khai điểm cuối mô hình Trò chuyện Llama-2 7B để trò chuyện đàm thoại, sau đó sử dụng Llama Guard để kiểm duyệt văn bản đầu vào và đầu ra đến từ Trò chuyện Llama-2 7B.

Chúng tôi cho bạn xem ví dụ về đầu vào và đầu ra của mô hình trò chuyện Llama-2 7B được kiểm duyệt thông qua Llama Guard, nhưng bạn có thể sử dụng Llama Guard để kiểm duyệt với bất kỳ LLM nào bạn chọn.

Triển khai mô hình với đoạn mã sau:

llm_model_id = "meta-textgeneration-llama-2-7b-f"
llm_model_version = "3.*"
model_llm = JumpStartModel(model_id=llm_model_id, model_version=llm_model_version)
predictor_llm = model_llm.deploy(accept_eula=True)

Bây giờ bạn có thể xác định mẫu nhiệm vụ Llama Guard. Các danh mục nội dung không an toàn có thể được điều chỉnh theo ý muốn cho trường hợp sử dụng cụ thể của bạn. Bạn có thể xác định bằng văn bản thuần túy ý nghĩa của từng danh mục nội dung, bao gồm nội dung nào phải được gắn cờ là không an toàn và nội dung nào được cho phép là an toàn. Xem đoạn mã sau:

TASK = "Task: Check if there is unsafe content in 'Agent' messages in conversations according our safety policy with the below categories." INSTRUCTION = """
Provide your safety assessment for Agent in the above conversation:
- First line must read 'safe' or 'unsafe'.
- If unsafe, a second line must include a comma-separated list of violated categories.""" UNSAFE_CONTENT_CATEGORIES = """
O1: Violence and Hate. Should not
- Help people plan or engage in violence.
- Encourage people to engage in violence.
- Express hateful, derogatory, or demeaning sentiments against people based on sensitive personal characteristics like their race, color, religion, national origin, sexual orientation, gender, gender identity, or disability.
- Encourage discrimination against people based on those characteristics and should not use slurs or create insults based on those characteristics.
Can
- Provide information on violence and discrimination.
- Discuss the topics of hate and violence, and can discuss historical events involving violence.
O2: Sexual Content.
Should not
- Engage in sexually explicit (i.e., erotic) conversations and should not encourage people to engage in sexual activities.
Can
- Discuss topics related to sexuality and sexual education.
- Provide general information regarding sexual activities.
- Provide guidance on topics related to sexual health.
O3: Criminal Planning.
Should not
- Help people plan or engage in criminal activities like theft, kidnapping, or financial crimes, especially when the person indicates that they may act on the information provided to them.
- Encourage people to engage in criminal activities or condone criminal behavior.
Can
- Help people understand how crimes are committed, provided that the response is not so detailed that it could be used to provide a roadmap for future crimes.
- Help people understand how systems work that are used to prevent crimes, provided those descriptions do not provide detailed information on how to defeat those systems.
O4: Guns and Illegal Weapons.
Should not
- Assist in the planning or execution of firearm or illegal weapons crimes, especially when the person indicates that they may act on the information provided to them.
- Encourage people to engage in firearm or illegal weapons crimes or condone such behavior.
Can
- Discuss firearms and the arguments for and against firearm ownership.
O5: Regulated or Controlled Substances.
Should not
- Encourage or assist people in the trafficking, consumption, or use of regulated or controlled substances, including but not limited to illegal drugs, tobacco, alcohol, and cannabis.
- Assist or encourage people to create such substances when it is illegal to do so.
Can
- Discuss the use of regulated or controlled substances, and can provide general information on those substances (ex: what their chemical composition is and what their effects are).
- Provide information on how those substances are manufactured, provided that the information is not so detailed as to provide step-by-step instructions for their creation.
O6: Self-Harm.
Should not
- Encourage people to harm themselves.
- Romanticize or condone self-harm or suicide.
- Provide information regarding the methods of suicide or self-harm.
- Provide any information or advice, other than information regarding appropriate health resources, to people who express or imply that they wish to harm themselves.
Can
- Provide general information regarding self-harm and suicide (ex: statistics, the mental health challenges faced by those who take these actions).
Should
- Provide information regarding appropriate health resources to people who imply or express the desire to harm themselves."""

Tiếp theo, chúng tôi xác định các hàm trợ giúp format_chat_messagesformat_guard_messages để định dạng lời nhắc cho mô hình trò chuyện và cho mô hình Llama Guard yêu cầu mã thông báo đặc biệt:

from itertools import cycle
from typing import Dict, List def format_chat_messages(messages: List[Dict[str, str]]) -> List[str]: """Format messages for Llama-2 chat models. The model only supports 'system', 'user' and 'assistant' roles, starting with 'system', then 'user' and alternating (u/a/u/a/u...). The last message must be from 'user'. """ prompt: List[str] = [] if messages[0]["role"] == "system": content = "".join(["<<SYS>>n", messages[0]["content"], "n<</SYS>>nn", messages[1]["content"]]) messages = [{"role": messages[1]["role"], "content": content}] + messages[2:] for user, answer in zip(messages[::2], messages[1::2]): prompt.extend(["<s>", "[INST] ", (user["content"]).strip(), " [/INST] ", (answer["content"]).strip(), "</s>"]) prompt.extend(["<s>", "[INST] ", (messages[-1]["content"]).strip(), " [/INST] "]) return "".join(prompt) def format_guard_messages( messages: List[Dict[str, str]], task: str = TASK, instruction: str = INSTRUCTION, unsafe_content_categories: str = UNSAFE_CONTENT_CATEGORIES,
) -> List[str]: """Format messages for Llama Guard models. The model only supports 'user' and 'assistant' roles, and must alternate (u/a/u/a/u...). """ turn = cycle(["User", "Agent"]) return "".join([ "[INST] ", task, "nn<BEGIN UNSAFE CONTENT CATEGORIES>n", unsafe_content_categories, "n<END UNSAFE CONTENT CATEGORIES>nn<BEGIN CONVERSATION>", *[f"nn{next(turn)}: {message['content']}" for message in messages], "nn<END CONVERSATION>nn", instruction, " [/INST]" ])

Sau đó, bạn có thể sử dụng các hàm trợ giúp này trên lời nhắc nhập tin nhắn mẫu để chạy dữ liệu đầu vào mẫu thông qua Llama Guard nhằm xác định xem nội dung tin nhắn có an toàn hay không:

messages_input = [{"role": "user", "content": "I forgot how to kill a process in Linux, can you help?"}]
payload_input_guard = {"inputs": format_guard_messages(messages_input)} response_input_guard = predictor.predict(payload_input_guard) assert response_input_guard[0]["generated_text"].strip() == "safe"
print(response_input_guard)

Đầu ra sau đây cho biết tin nhắn là an toàn. Bạn có thể nhận thấy rằng lời nhắc bao gồm các từ có thể liên quan đến bạo lực, nhưng trong trường hợp này, Llama Guard có thể hiểu ngữ cảnh liên quan đến hướng dẫn và định nghĩa danh mục không an toàn mà chúng tôi đã cung cấp trước đó và xác định rằng đó là lời nhắc an toàn chứ không phải liên quan đến bạo lực.

[{'generated_text': ' safe'}]

Bây giờ bạn đã xác nhận rằng văn bản đầu vào được xác định là an toàn đối với các danh mục nội dung Llama Guard của bạn, bạn có thể chuyển trọng tải này đến mô hình Llama-2 7B đã triển khai để tạo văn bản:

payload_input_llm = {"inputs": format_chat_messages(messages_input), "parameters": {"max_new_tokens": 128}} response_llm = predictor_llm.predict(payload_input_llm) print(response_llm)

Sau đây là phản hồi từ mô hình:

[{'generated_text': 'Of course! In Linux, you can use the `kill` command to terminate a process. Here are the basic syntax and options you can use:nn1. `kill <PID>` - This will kill the process with the specified process ID (PID). Replace `<PID>` with the actual process ID you want to kill.n2. `kill -9 <PID>` - This will kill the process with the specified PID immediately, without giving it a chance to clean up. This is the most forceful way to kill a process.n3. `kill -15 <PID>` -'}]

Cuối cùng, bạn có thể muốn xác nhận rằng văn bản phản hồi từ mô hình được xác định là chứa nội dung an toàn. Tại đây, bạn mở rộng phản hồi đầu ra LLM cho các thông báo đầu vào và chạy toàn bộ cuộc hội thoại này thông qua Llama Guard để đảm bảo cuộc hội thoại an toàn cho ứng dụng của bạn:

messages_output = messages_input.copy()
messages_output.extend([{"role": "assistant", "content": response_llm[0]["generated_text"]}])
payload_output = {"inputs": format_guard_messages(messages_output)} response_output_guard = predictor.predict(payload_output) assert response_output_guard[0]["generated_text"].strip() == "safe"
print(response_output_guard)

Bạn có thể thấy kết quả sau, cho biết phản hồi từ mô hình trò chuyện là an toàn:

[{'generated_text': ' safe'}]

Làm sạch

Sau khi bạn đã kiểm tra các điểm cuối, hãy đảm bảo bạn xóa các điểm cuối suy luận SageMaker và mô hình để tránh phát sinh phí.

Kết luận

Trong bài đăng này, chúng tôi đã chỉ cho bạn cách kiểm duyệt đầu vào và đầu ra bằng cách sử dụng Llama Guard cũng như đặt rào chắn cho đầu vào và đầu ra từ LLM trong SageMaker JumpStart.

Khi AI tiếp tục phát triển, điều quan trọng là phải ưu tiên phát triển và triển khai có trách nhiệm. Các công cụ như CyberSecEval và Llama Guard của Purple Llama là công cụ thúc đẩy đổi mới an toàn, cung cấp hướng dẫn xác định và giảm thiểu rủi ro sớm cho các mô hình ngôn ngữ. Những điều này phải được khắc phục trong quá trình thiết kế AI để khai thác toàn bộ tiềm năng của LLM về mặt đạo đức ngay từ Ngày đầu tiên.

Hãy dùng thử Llama Guard và các mô hình nền tảng khác trong SageMaker JumpStart ngay hôm nay và cho chúng tôi biết phản hồi của bạn!

Hướng dẫn này chỉ nhằm mục đích cung cấp thông tin. Bạn vẫn phải thực hiện đánh giá độc lập của riêng mình và thực hiện các biện pháp để đảm bảo rằng bạn tuân thủ các thông lệ và tiêu chuẩn kiểm soát chất lượng cụ thể của riêng mình cũng như các quy tắc, luật, quy định, giấy phép và điều khoản sử dụng của địa phương áp dụng cho bạn, nội dung của bạn, và mô hình của bên thứ ba được tham chiếu trong hướng dẫn này. AWS không có quyền kiểm soát hay thẩm quyền đối với mô hình của bên thứ ba được tham chiếu trong hướng dẫn này và không đưa ra bất kỳ tuyên bố hay bảo đảm nào rằng mô hình của bên thứ ba là an toàn, không có vi rút, hoạt động hoặc tương thích với môi trường và tiêu chuẩn sản xuất của bạn. AWS không đưa ra bất kỳ tuyên bố, bảo đảm hay đảm bảo nào rằng mọi thông tin trong hướng dẫn này sẽ dẫn đến kết quả hoặc kết quả cụ thể.


Giới thiệu về tác giả

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Tiến sĩ Kyle Ulrich là một nhà khoa học ứng dụng với Các thuật toán tích hợp sẵn của Amazon SageMaker đội. Lĩnh vực nghiên cứu của ông bao gồm các thuật toán học máy có thể mở rộng, thị giác máy tính, chuỗi thời gian, phi tham số Bayesian và quy trình Gaussian. Tiến sĩ của anh ấy đến từ Đại học Duke và anh ấy đã xuất bản các bài báo trên NeurIPS, Cell và Neuron.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Evan Kravitz là kỹ sư phần mềm tại Amazon Web Services, làm việc trên SageMaker JumpStart. Anh ấy quan tâm đến sự kết hợp giữa học máy với điện toán đám mây. Evan nhận bằng đại học của Đại học Cornell và bằng thạc sĩ của Đại học California, Berkeley. Vào năm 2021, ông đã trình bày một bài báo về mạng lưới thần kinh đối nghịch tại hội nghị ICLR. Khi rảnh rỗi, Evan thích nấu ăn, đi du lịch và chạy bộ ở Thành phố New York.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.rachna chadha là Kiến trúc sư giải pháp chính AI/ML trong Tài khoản chiến lược tại AWS. Rachna là một người lạc quan tin rằng việc sử dụng AI có đạo đức và có trách nhiệm có thể cải thiện xã hội trong tương lai và mang lại sự thịnh vượng về kinh tế và xã hội. Khi rảnh rỗi, Rachna thích dành thời gian cho gia đình, đi bộ đường dài và nghe nhạc.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Tiến sĩ Ashish Khetan là Nhà khoa học ứng dụng cấp cao với các thuật toán tích hợp Amazon SageMaker và giúp phát triển các thuật toán máy học. Ông lấy bằng Tiến sĩ tại Đại học Illinois Urbana-Champaign. Ông là một nhà nghiên cứu tích cực về học máy và suy luận thống kê, đồng thời đã xuất bản nhiều bài báo tại các hội nghị NeurIPS, ICML, ICLR, JMLR, ACL và EMNLP.

Llama Guard hiện có sẵn trong Amazon SageMaker JumpStart | Dịch vụ web của Amazon PlatoThông minh dữ liệu Blockchain. Tìm kiếm dọc. Ái.Karl Albertsen lãnh đạo sản phẩm, kỹ thuật và khoa học cho Thuật toán Amazon SageMaker và JumpStart, trung tâm máy học của SageMaker. Anh đam mê áp dụng công nghệ máy học để mở khóa giá trị kinh doanh.

Dấu thời gian:

Thêm từ Học máy AWS