编辑
2024-11-27
Linux运维
00

管理 Schema

本主题介绍了Milvus中的Schema。Schema用于定义集合及其中字段的属性。

编辑
2024-11-27
Linux运维
00

该文章已加密,点击 阅读全文 并输入密码后方可查看。

编辑
2024-11-26
深度学习
00

流式请求

python
展开代码
import requests import json import time def chat_completion_generator(query, timeout=50): baidu_url = 'https://llm_ip/v1/chat-messages' baidu_headers = { 'Authorization': 'Bearer app-2IdfEuDM0EwoKGVxEjC8', 'Content-Type': 'application/json' } baidu_data = { "inputs": {}, "query": query, "response_mode": "streaming", # 假设API支持streaming模式 "user": "abc-123" } try: # 设置stream=True以启用流式处理 response = requests.post(baidu_url, headers=baidu_headers, json=baidu_data, timeout=timeout, stream=True) if response.status_code == 200: # 使用迭代的方式逐步获取数据 for line in response.iter_lines(): if line: # 去除前缀 "data: " line = line.decode('utf-8').strip() if line.startswith("data:"): line = line[5:].strip() try: # 解析JSON数据 event_data = json.loads(line) # 处理不同的事件类型 event = event_data.get('event') if event == 'message': answer = event_data.get('answer', '') # 流式输出answer内容 for char in answer: print(char,end='', flush=True) time.sleep(0.05) except json.JSONDecodeError as e: print(f"Failed to decode JSON: {e}") else: print(f"Error: {response.status_code}") except Exception as e: print(f"Request failed, error: {e}") # 示例调用 query = "你能告诉我今天天气怎么样吗?" chat_completion_generator(query)
编辑
2024-11-26
深度学习
00
编辑
2024-11-26
DL论文
00

https://arxiv.org/abs/2402.12226

https://github.com/OpenMOSS/AnyGPT

我没实际测试,但我估计效果不好,这做下来工作量可是非常大的。

编辑
2024-11-26
深度学习
00

Moshi 结合了一个大规模文本 LLM(Helium)和一个小型音频语言模型,实现了语音到语音的直接理解和生成。通过分层流式架构和多流音频处理,模型首次实现了全双工对话能力(可以在边输出对话的时候,同时还在监听说话人说话,可以做到打断)。

编辑
2024-11-26
DL论文
00

https://arxiv.org/abs/2402.05755

图1:
a. SPIRIT LM架构。一个通过下一个词预测训练的语言模型;令牌通过编码器从语音或文本中提取,并通过解码器以原始模态恢复。SPIRIT LM模型在文本-only序列、语音-only序列和交替语音-文本序列的混合数据上进行训练。
b. 语音-文本交替方案。语音通过聚类语音单元(Hubert、Pitch或Style令牌)被编码为令牌(粉色),文本通过BPE编码为令牌(蓝色)。我们使用特殊令牌[T EXT]为文本加前缀,使用[S PEECH]为语音令牌。在训练过程中,模态变化在对齐的语音-文本语料库中的单词边界处随机触发。语音令牌去重后,在模态变化边界处与文本令牌交替。
c. 富表现语音令牌。对于SPIRIT LM EXPRESSIVE,音高令牌和风格令牌在去重后交替排列。

贡献包括以下几点:

(i) 我们提出了 SPIRIT LM,这是一种单一的语言模型,能够生成语音和文本。SPIRIT LM 基于持续预训练的 LLaMA 2,并通过交替的语音和文本数据进行训练。
(ii) 类似于文本 LLM,我们发现 SPIRIT LM 可以在文本、语音和跨模态设置(即语音到文本和文本到语音)中通过少样本学习新任务。
(iii) 为了评估生成模型的表现力,我们引入了语音-文本情感保留基准(SPIRIT-TEXT SENTIMENT PRESERVATION,简称 STSP),该基准衡量生成模型在语音和文本的同模态和跨模态条件下,保持情感的一致性。
(iv) 我们提出了 SPIRIT LM 的表现力版本(SPIRIT LM EXPRESSIVE)。通过 STSP,我们展示了 SPIRIT LM 是首个能够在文本和语音提示的同模态与跨模态之间保持情感一致性的语言模型。
(v) 最后,我们量化了模型在生成过程中可能增加的有害内容,无论是在语音还是文本中。如同所有预训练基础模型(Bender 等,2021;Solaiman 等,2023),SPIRIT LM 也可能生成有害内容。因此,所有使用我们工作的面向用户的应用程序应当整合必要的安全性测试,并进行安全指令微调以满足安全标准(Touvron 等,2023b)。

编辑
2024-11-25
Linux运维
00

运行以下命令安装 Docker Compose:

bash
展开代码
sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose

docker-compose.yml 写到:

bash
展开代码
wget https://github.com/milvus-io/milvus/releases/download/v2.3.1/milvus-standalone-docker-compose.yml -O docker-compose.yaml
编辑
2024-11-25
Linux运维
00

使用 Docker 部署 MySQL 数据库

随着 Docker 技术的广泛应用,使用容器化技术来管理数据库变得更加简单和高效。MySQL 是最流行的关系型数据库管理系统之一,通过 Docker 部署 MySQL 能够为开发人员提供便捷的环境部署和管理方式。在本文中,我们将介绍如何通过 Docker 来部署 MySQL 数据库。

编辑
2024-11-25
深度学习
00

看到一个资料:

https://github.com/QwenLM/Qwen2.5/blob/main/docs/source/framework/LlamaIndex.rst

微调模型的时候有加一些标记,所以后面用的时候给入标记会是一种很强的监督:

编辑
2024-11-25
深度学习
00
bash
展开代码
from sentence_transformers import SentenceTransformer model = SentenceTransformer("/data/xiedong/Conan-embedding-v1") sentences = [ "今天天气真好。", "外面的阳光真灿烂!", "他开车去了体育馆。", "The weather is really nice today." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities) print(similarities.shape)
编辑
2024-11-25
深度学习
00

个人总结

预训练阶段用对比学习,清洗后的数据用于预训练。题目-内容文本对、输入-输出文本对、问题-答案文本对、提示-响应文本对,都是训练数据。

动态困难负样本挖掘:训练过程中,困难样本会不断改变,重新挖掘。

跨GPU批次平衡损失:以往都是不同embedding任务交替训练,认为这样会震荡,直接多个任务一起BP。

摘要

随着RAG(检索增强生成)技术的日益流行,嵌入模型的能力也引起了越来越多的关注。嵌入模型通常通过对比学习进行训练,其中负样本是关键组成部分。以往的研究提出了多种困难负样本挖掘策略,但这些策略通常作为预处理步骤来应用。在本文中,我们提出了conan-embedding模型,旨在最大化利用更多、更高质量的负样本。具体来说,由于模型处理预处理负样本的能力会随着训练的进行而演变,我们提出了动态困难负样本挖掘方法,旨在使模型在训练过程中暴露于更多具有挑战性的负样本。其次,对比学习需要尽可能多的负样本,但由于GPU内存的限制,这一需求受到了制约。因此,我们使用跨GPU平衡损失(Cross-GPU balancing Loss)来提供更多的负样本进行嵌入训练,并平衡多个任务的批量大小。此外,我们还发现来自大型语言模型(LLM)的提示-响应对(prompt-response pairs)可以用于嵌入训练。我们的方法有效提升了嵌入模型的能力,目前在中文大规模文本嵌入基准(MTEB)排行榜上排名第一。

编辑
2024-11-25
深度学习
00
编辑
2024-11-22
工具使用
00
编辑
2024-11-21
深度学习
00
编辑
2024-11-21
深度学习
00

Transformer模型中的位置编码

Transformer模型中的位置编码(Positional Encoding)用于为模型提供序列中单词的位置信息,因为Transformer本身是一个无序列的模型,它并不像RNN那样具有顺序处理的能力。

位置编码的公式通常分为两种形式:正弦和余弦函数,具体形式如下:

编辑
2024-11-20
深度学习
00

WO、AWQ、GPTQ 与 SQ 的对比

随着深度学习模型规模的不断扩大,模型的部署和推理变得更加昂贵。量化技术通过降低模型的计算精度(如从浮点数到整数)显著减少模型的存储需求和计算复杂度,是优化大模型的重要手段。目前有多种量化方法被提出,它们各自有针对性的特点和适用场景。本文将介绍以下四种主流量化技术及其差异:

  1. WO:仅权重量化(Weight Only Quantization)
  2. AWQ:激活感知权重量化(Activation-aware Weight Quantization)
  3. GPTQ:生成预训练 Transformer 量化(Generative Pretrained Transformer Quantization)
  4. SQ:平滑量化(Smooth Quantization)
编辑
2024-11-20
深度学习
00
编辑
2024-11-19
DL论文
00

https://arxiv.org/abs/2308.02223

ESRL: Efficient Sampling-based Reinforcement Learning for Sequence Generation

论文的核心贡献主要包括两方面:

两阶段采样:传统的RL训练在序列生成任务中通常需要为每个生成的候选序列存储计算图,而这会消耗大量内存。为了优化这一点,ESRL采用了两阶段采样方法:在第一阶段,模型采用自回归方式生成候选序列,但不进行反向传播,避免了计算图的存储。第二阶段是计算这些候选序列的概率,利用Transformer的并行计算能力减少了计算图存储的需求。尽管增加了计算时间,但减少了内存消耗。

动态采样:ESRL还引入了动态采样机制,通过估计模型的能力(例如使用BLEU或熵值等度量)来调整采样的大小和温度。具体来说,当模型的能力较强时,减少采样数量;而当能力较弱时,增加采样量以提高探索效果。通过这种方法,ESRL避免了过度采样,从而进一步提高了训练效率。

一切都在此图中,以往模型的采样没有技巧,花费显存和时间,ESRL让这个过程变得高效:

编辑
2024-11-19
DL论文
00

https://arxiv.org/abs/2411.10323

摘要

最近发布的Claude 3.5计算机使用模型脱颖而出,成为首个在公开测试版中提供计算机使用功能的图形用户界面(GUI)代理。作为一个早期测试版,其在复杂的现实环境中的能力仍然未知。在这项探索Claude 3.5计算机使用的案例研究中,我们精心设计并组织了一系列跨越多个领域和软件的任务。通过这些案例的观察,我们展示了Claude 3.5计算机使用在从语言到桌面操作的端到端能力上的前所未有的表现。与此同时,我们还提供了一个开箱即用的代理框架,方便用户部署基于API的GUI自动化模型并轻松实现。本案例研究旨在展示Claude 3.5计算机使用的能力和局限性的基础工作,并通过详细的分析提出关于规划、行动和批判的问题,这些问题必须考虑在内以推动未来的改进。我们希望这项初步探索能激发未来在GUI代理领域的研究。本文中的所有测试案例可以通过以下项目进行尝试:https://github.com/showlab/computer_use_ootb