0


Llama 3 模型家族构建安全可信赖企业级AI应用之code shield(三)Code Shield代码示例

LlaMA 3 系列博客

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (一)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (二)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (三)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (四)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (五)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (六)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (七)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (八)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (九)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (十)

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(一)

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(二)

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(三)

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(四)

构建安全的GenAI/LLMs核心技术解密之大模型对抗攻击(五)

你好 GPT-4o!

大模型标记器之Tokenizer可视化(GPT-4o)

大模型标记器 Tokenizer之Byte Pair Encoding (BPE) 算法详解与示例

大模型标记器 Tokenizer之Byte Pair Encoding (BPE)源码分析

大模型之自注意力机制Self-Attention(一)

大模型之自注意力机制Self-Attention(二)

大模型之自注意力机制Self-Attention(三)

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (十一)

Llama 3 模型家族构建安全可信赖企业级AI应用之 Code Llama (一)

Llama 3 模型家族构建安全可信赖企业级AI应用之 Code Llama (二)

Llama 3 模型家族构建安全可信赖企业级AI应用之 Code Llama (三)

Llama 3 模型家族构建安全可信赖企业级AI应用之 Code Llama (四)

Llama 3 模型家族构建安全可信赖企业级AI应用之 Code Llama (五)

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话(一)

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话(二)

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话(三)

大模型之深入理解Transformer位置编码(Positional Embedding)

大模型之深入理解Transformer Layer Normalization(一)

大模型之深入理解Transformer Layer Normalization(二)

大模型之深入理解Transformer Layer Normalization(三)

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(一)初学者的起点

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(二)矩阵操作的演练

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(三)初始化一个嵌入层

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(四)预先计算 RoPE 频率

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(五)预先计算因果掩码

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(六)首次归一化:均方根归一化(RMSNorm)

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(七) 初始化多查询注意力

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(八)旋转位置嵌入

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(九) 计算自注意力

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(十) 残差连接及SwiGLU FFN

大模型之一步一步使用PyTorch编写Meta的Llama 3代码(十一)输出概率分布 及损失函数计算

大模型之使用PyTorch编写Meta的Llama 3实际功能代码(一)加载简化分词器及设置参数

大模型之使用PyTorch编写Meta的Llama 3实际功能代码(二)RoPE 及注意力机制

大模型之使用PyTorch编写Meta的Llama 3实际功能代码(三) FeedForward 及 Residual Layers

大模型之使用PyTorch编写Meta的Llama 3实际功能代码(四) 构建 Llama3 类模型本身

大模型之使用PyTorch编写Meta的Llama 3实际功能代码(五)训练并测试你自己的 minLlama3

大模型之使用PyTorch编写Meta的Llama 3实际功能代码(六)加载已经训练好的miniLlama3模型

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (四)

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (五)

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (六)

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (七)

Llama 3 模型家族构建安全可信赖企业级AI应用之使用 Llama Guard 保护大模型对话 (八)

Llama 3 模型家族构建安全可信赖企业级AI应用之 CyberSecEval 2:量化 LLM 安全和能力的基准(一)

Llama 3 模型家族构建安全可信赖企业级AI应用之 CyberSecEval 2:量化 LLM 安全和能力的基准(二)

Llama 3 模型家族构建安全可信赖企业级AI应用之 CyberSecEval 2:量化 LLM 安全和能力的基准(三)

Llama 3 模型家族构建安全可信赖企业级AI应用之 CyberSecEval 2:量化 LLM 安全和能力的基准(四)

Llama 3 模型家族构建安全可信赖企业级AI应用之code shield(一)Code Shield简介

Llama 3 模型家族构建安全可信赖企业级AI应用之code shield(二)防止 LLM 生成不安全代码

Llama 3 模型家族构建安全可信赖企业级AI应用之code shield(三)Code Shield代码示例

安装选项1。安装CodeShield软件包。在终端中运行以下操作

pip3 install codeshield

安装选项2。从源代码本地安装CodeShield包

git clone https://github.com/meta-llama/PurpleLlama
cd PurpleLlama/CodeShield
pip install .

示例

定义一个助理函数来运行扫描和处理输出。

from codeshield.cs import CodeShield

asyncdefscan_llm_output(llm_output_code):
    result =await CodeShield.scan_code(llm_output_code)if result.is_insecure:# perform actions based on treatment recommendationif result.recommended_treatment =="block":
            llm_output_code ="*** Code Security issues found, blocking the code ***"if result.recommended_treatment =="warn":
            llm_output_code = llm_output_code +"*** Warning: The generated snippit contains insecure code ***"
    
    
    summary ="Security issue detected"if result.is_insecure else"No issues found"print("__LLM output after treatment___")print(llm_output_code)print("__Results__")print(summary)print(result.recommended_treatment)print("__Details__")print(result.issues_found)

这段代码是一个异步函数,用于扫描由语言模型(LLM)生成的代码输出,并根据安全分析结果处理这些输出。

  1. from codeshield.cs import CodeShield:- 这行代码从 codeshield.cs 模块导入 CodeShield 类。
  2. async def scan_llm_output(llm_output_code)::- 定义了一个异步函数 scan_llm_output,它接受一个参数 llm_output_code,这是由语言模型生成的代码字符串。
  3. result = await CodeShield.scan_code(llm_output_code):- 使用 await 关键字调用 CodeShield 类的 scan_code 方法,并传入 llm_output_code 作为参数。这将异步地扫描代码并返回一个结果对象。
  4. if result.is_insecure::- 如果 scan_code 方法返回的结果表明代码是不安全的(is_insecure 属性为 True),则执行以下操作。

5-6.

if result.recommended_treatment == "block":

llm_output_code = "*** Code Security issues found, blocking the code ***"

:

  • 如果推荐的处理方式是 “block”(阻止),则将 llm_output_code 替换为一条消息,表明代码安全问题已被发现并阻止了代码的执行。

7-8.

if result.recommended_treatment == "warn":

llm_output_code = llm_output_code + "*** Warning: The generated snippit contains insecure code ***"

:

  • 如果推荐的处理方式是 “warn”(警告),则在原始的 llm_output_code 字符串末尾添加一条警告消息。
  1. summary = "Security issue detected" if result.is_insecure else "No issues found":- 根据 is_insecure 的值,summary 变量被设置为 “Security issue detected”(检测到安全问题)或 “No issues found”(未发现问题)。
  2. print("__LLM output after treatment___"):- 打印一个标题,表示接下来的输出是经过处理后的 LLM 输出。
  3. print(llm_output_code):- 打印经过安全处理后的代码。
  4. print("__Results__"):- 打印一个标题,表示接下来的输出是分析结果。
  5. print(summary):- 打印安全问题的摘要。
  6. print(result.recommended_treatment):- 打印推荐的处理方式。
  7. print("__Details__"):- 打印一个标题,表示接下来的输出是详细信息。
  8. print(result.issues_found):- 打印在代码中发现的问题的详细信息。

将 LLM 生成的代码通过

CodeShield

类进行安全扫描,根据扫描结果采取相应的行动(阻止或警告),并打印出处理后的代码、安全问题的摘要、推荐的处理方式以及详细的问题列表。

示例1

一个硬编码的例子,其中代码 使用了弱散列md5函数。

llm_output_code ="""
def hashString(input):
    return hashlib.md5(input)
"""await scan_llm_output(llm_output_code)

结果:

__LLM output after treatment___

defhashString(input):return hashlib.md5(input)*** Warning: The generated snippit contains insecure code ***
__Results__
Security issue detected
Treatment.WARN
__Details__
[Issue(description='Use of weak hashing algorithm', cwe_id='CWE-327', severity=<Severity.WARNING:'warning'>, rule='\\.getMd5Digest\\(\\)|\\.md5\\(|\\.md5Hex\\(|\\.getInstance\\("(MD5|md5)"', line=3, path=None, char=None, name=None, original=None, replacement=None, analyzer=<Analyzer.REGEX:'regex'>, pattern_id='weak-md5-hashing'), Issue(description='Use of a Broken or Risky Cryptographic Algorithm', cwe_id='CWE-327', severity=<Severity.WARNING:'warning'>, rule='\\b(md5|sha1)\\s*\\(', line=3, path=None, char=None, name=None, original=None, replacement=None, analyzer=<Analyzer.REGEX:'regex'>, pattern_id='risky-crypto-algorithm'), Issue(description='The MD5 hash function is considered insecure. Avoid using it unless explicitly needed for compatibility reasons', cwe_id='CWE-328', severity=<Severity.WARNING:'warning'>, rule='\\bhashlib\\.md5\\(', line=3, path=None, char=None, name=None, original=None, replacement=None, analyzer=<Analyzer.REGEX:'regex'>, pattern_id='insecure-md5-hash-usage')]

示例2

prompt ="please generate some example code to demonstrate strcpy usage"import openai
client = openai.OpenAI(api_key="YOUR_OPEN_AI_KEY")
response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role":"user","content": prompt},],
    max_tokens=1000,)await scan_llm_output(response.choices[0].message.content)

从OpenAI的API获取代码示例,并使用之前定义的

scan_llm_output

函数来扫描和处理这些代码。

  1. prompt = "please generate some example code to demonstrate strcpy usage":- 定义了一个字符串变量prompt,包含了向OpenAI模型提出的请求,即生成展示strcpy函数用法的示例代码。
  2. import openai:- 导入openai库,这是一个用于与OpenAI API交互的Python客户端库。
  3. client = openai.OpenAI(api_key="YOUR_OPEN_AI_KEY"):- 创建一个openai.OpenAI的实例client,用于与OpenAI API进行通信。这里需要将"YOUR_OPEN_AI_KEY"替换成有效的OpenAI API密钥。
  4. response = client.chat.completions.create(...):- 使用client实例调用chat.completions.create方法,向OpenAI的聊天模型请求完成对话。传递的参数包括: - model: 使用的模型是"gpt-3.5-turbo"。- messages: 一个包含对话消息的列表,这里只有一个消息,角色是"user",内容是之前定义的prompt。- max_tokens: 模型在停止生成之前可以生成的最大标记数。
  5. await scan_llm_output(response.choices[0].message.content):- 使用await关键字调用之前定义的scan_llm_output异步函数,传入response中第一个选项的消息内容。

示例3

import os
import getpass

from llama_recipes.inference.llm import TOGETHER, OPENAI, ANYSCALE

if"EXTERNALLY_HOSTED_LLM_TOKEN"notin os.environ:
    os.environ["EXTERNALLY_HOSTED_LLM_TOKEN"]= getpass.getpass(prompt="Provide token for LLM provider")# Delete as appropriate
model = TOGETHER("togethercomputer/CodeLlama-13b-Instruct", os.environ["EXTERNALLY_HOSTED_LLM_TOKEN"])
model = OPENAI("gpt-4",os.environ["EXTERNALLY_HOSTED_LLM_TOKEN"])
model = ANYSCALE("codellama/CodeLlama-34b-Instruct-hf",os.environ["EXTERNALLY_HOSTED_LLM_TOKEN"])

llm_output_code = model.query_with_system_prompt_with_retries(
    system_prompt="You are an expert code developer. You output only code and nothing else", 
    prompt="Output a single python function which calculates the md5 hash of a string provided as an argument to the function. Output only the code and nothing else.")await scan_llm_output(llm_output_code)
  1. import os:- 导入Python标准库中的os模块,用于与操作系统交互,如环境变量。
  2. import getpass:- 导入getpass模块,该模块可以安全地获取用户的密码输入,这里用于获取LLM提供商的标记。
  3. from llama_recipes.inference.llm import TOGETHER, OPENAI, ANYSCALE:- 从llama_recipes库的inference.llm模块导入TOGETHER, OPENAI, ANYSCALE三个类。这些类用于创建与不同LLM服务提供商的接口。
  4. 检查环境变量EXTERNALLY_HOSTED_LLM_TOKEN是否存在,如果不存在,则提示用户输入一个标记(token)并将其设置为环境变量。这个令牌可能是用于访问LLM服务的认证信息。

创建模型的这三行代码创建了一个模型实例,但是由于Python的赋值机制,实际上只有一行会被执行。这里应该根据实际情况只保留一个模型实例的创建。例如,如果选择使用

ANYSCALE

服务,则应保留如下代码:

model = ANYSCALE("codellama/CodeLlama-34b-Instruct-hf", os.environ["EXTERNALLY_HOSTED_LLM_TOKEN"])

其他两行应该被注释掉或删除。

  1. 使用模型实例的query_with_system_prompt_with_retries方法,向LLM发送查询。该方法接受两个参数:- system_prompt: 系统提示,告诉模型它是一个专家级的代码开发者,并且只输出代码。- prompt: 具体提示,请求模型输出一个计算字符串MD5哈希值的Python函数。
  2. llm_output_code 变量将包含LLM返回的代码。
  3. await scan_llm_output(llm_output_code):- 这行代码调用之前定义的scan_llm_output异步函数,传入LLM返回的代码输出。这个函数将对代码进行安全扫描,并根据扫描结果进行处理。

https://github.com/meta-llama/llama-recipes/blob/main/recipes/responsible_ai/CodeShieldUsageDemo.ipynb

大模型技术分享

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

《企业级生成式人工智能LLM大模型技术、算法及案例实战》线上高级研修讲座

模块一:Generative AI 原理本质、技术内核及工程实践周期详解
模块二:工业级 Prompting 技术内幕及端到端的基于LLM 的会议助理实战
模块三:三大 Llama 2 模型详解及实战构建安全可靠的智能对话系统
模块四:生产环境下 GenAI/LLMs 的五大核心问题及构建健壮的应用实战
模块五:大模型应用开发技术:Agentic-based 应用技术及案例实战
模块六:LLM 大模型微调及模型 Quantization 技术及案例实战
模块七:大模型高效微调 PEFT 算法、技术、流程及代码实战进阶
模块八:LLM 模型对齐技术、流程及进行文本Toxicity 分析实战
模块九:构建安全的 GenAI/LLMs 核心技术Red Teaming 解密实战
模块十:构建可信赖的企业私有安全大模型Responsible AI 实战 

Llama3关键技术深度解析与构建Responsible AI、算法及开发落地实战

1、Llama开源模型家族大模型技术、工具和多模态详解:学员将深入了解Meta Llama 3的创新之处,比如其在语言模型技术上的突破,并学习到如何在Llama 3中构建trust and safety AI。他们将详细了解Llama 3的五大技术分支及工具,以及如何在AWS上实战Llama指令微调的案例。
2、解密Llama 3 Foundation Model模型结构特色技术及代码实现:深入了解Llama 3中的各种技术,比如Tiktokenizer、KV Cache、Grouped Multi-Query Attention等。通过项目二逐行剖析Llama 3的源码,加深对技术的理解。
3、解密Llama 3 Foundation Model模型结构核心技术及代码实现:SwiGLU Activation Function、FeedForward Block、Encoder Block等。通过项目三学习Llama 3的推理及Inferencing代码,加强对技术的实践理解。
4、基于LangGraph on Llama 3构建Responsible AI实战体验:通过项目四在Llama 3上实战基于LangGraph的Responsible AI项目。他们将了解到LangGraph的三大核心组件、运行机制和流程步骤,从而加强对Responsible AI的实践能力。
5、Llama模型家族构建技术构建安全可信赖企业级AI应用内幕详解:深入了解构建安全可靠的企业级AI应用所需的关键技术,比如Code Llama、Llama Guard等。项目五实战构建安全可靠的对话智能项目升级版,加强对安全性的实践理解。
6、Llama模型家族Fine-tuning技术与算法实战:学员将学习Fine-tuning技术与算法,比如Supervised Fine-Tuning(SFT)、Reward Model技术、PPO算法、DPO算法等。项目六动手实现PPO及DPO算法,加强对算法的理解和应用能力。
7、Llama模型家族基于AI反馈的强化学习技术解密:深入学习Llama模型家族基于AI反馈的强化学习技术,比如RLAIF和RLHF。项目七实战基于RLAIF的Constitutional AI。
8、Llama 3中的DPO原理、算法、组件及具体实现及算法进阶:学习Llama 3中结合使用PPO和DPO算法,剖析DPO的原理和工作机制,详细解析DPO中的关键算法组件,并通过综合项目八从零开始动手实现和测试DPO算法,同时课程将解密DPO进阶技术Iterative DPO及IPO算法。
9、Llama模型家族Safety设计与实现:在这个模块中,学员将学习Llama模型家族的Safety设计与实现,比如Safety in Pretraining、Safety Fine-Tuning等。构建安全可靠的GenAI/LLMs项目开发。
10、Llama 3构建可信赖的企业私有安全大模型Responsible AI系统:构建可信赖的企业私有安全大模型Responsible AI系统,掌握Llama 3的Constitutional AI、Red Teaming。

解码Sora架构、技术及应用

一、为何Sora通往AGI道路的里程碑?
1,探索从大规模语言模型(LLM)到大规模视觉模型(LVM)的关键转变,揭示其在实现通用人工智能(AGI)中的作用。
2,展示Visual Data和Text Data结合的成功案例,解析Sora在此过程中扮演的关键角色。
3,详细介绍Sora如何依据文本指令生成具有三维一致性(3D consistency)的视频内容。 4,解析Sora如何根据图像或视频生成高保真内容的技术路径。
5,探讨Sora在不同应用场景中的实践价值及其面临的挑战和局限性。

二、解码Sora架构原理
1,DiT (Diffusion Transformer)架构详解
2,DiT是如何帮助Sora实现Consistent、Realistic、Imaginative视频内容的?
3,探讨为何选用Transformer作为Diffusion的核心网络,而非技术如U-Net。
4,DiT的Patchification原理及流程,揭示其在处理视频和图像数据中的重要性。
5,Conditional Diffusion过程详解,及其在内容生成过程中的作用。
三、解码Sora关键技术解密
1,Sora如何利用Transformer和Diffusion技术理解物体间的互动,及其对模拟复杂互动场景的重要性。
2,为何说Space-time patches是Sora技术的核心,及其对视频生成能力的提升作用。
3,Spacetime latent patches详解,探讨其在视频压缩和生成中的关键角色。
4,Sora Simulator如何利用Space-time patches构建digital和physical世界,及其对模拟真实世界变化的能力。
5,Sora如何实现faithfully按照用户输入文本而生成内容,探讨背后的技术与创新。
6,Sora为何依据abstract concept而不是依据具体的pixels进行内容生成,及其对模型生成质量与多样性的影响。


本文转载自: https://blog.csdn.net/duan_zhihua/article/details/139142244
版权归原作者 段智华 所有, 如有侵权,请联系我们删除。

“Llama 3 模型家族构建安全可信赖企业级AI应用之code shield(三)Code Shield代码示例”的评论:

还没有评论