Cubre el proceso integral de importación de un modelo LoRA desde Alibaba Cloud OSS a Alibaba Cloud Model Studio, incluyendo la autorización inicial de OSS, la preparación de archivos del modelo, los campos del formulario de importación, la gestión de modelos importados y la solución de problemas.
Resumen de la importación de modelos
Esta guía explica cómo importar un modelo LoRA entrenado localmente desde Alibaba Cloud Object Storage Service (OSS) a Alibaba Cloud Model Studio, cubriendo la autorización inicial de OSS, la preparación de archivos del modelo, los campos del formulario de importación, la visualización/gestión y eliminación de modelos, y la solución de problemas comunes como fallos de importación y modelos caducados. Una vez importado correctamente, el modelo está listo para su implementación. Para implementación, escalado y operaciones sin conexión, consulte Implementación y O&M. Para implementar y llamar modelos mediante API, consulte Implementar modelos con la API. Esta guía, junto con la descripción general de implementación y la guía de API, forma una cadena completa de concepto a llamada.
El campo de modelo base en la página de importación se completa dinámicamente mediante una API de Model Studio que devuelve la lista de modelos base actualmente importables, la cual puede cambiar con las actualizaciones de versión. Consulte las opciones disponibles en la consola. Los modelos base compatibles actualmente se enumeran a continuación:
Modelos base compatibles actualmente (haga clic para expandir)
Esta lista es devuelta dinámicamente por la API backend y puede cambiar con las actualizaciones de versión. Consulte las opciones reales disponibles en la consola.
Familia de modelos | Nombre del modelo |
|---|---|
Qwen3 | Qwen3-32B |
Qwen3 | Qwen3-14B |
Qwen3 | Qwen3-8B |
Qwen3 | Qwen3-4B-Instruct-2507 |
Qwen3-VL | Qwen3-VL-8B-Instruct |
Qwen2.5 | Qwen2.5-72B-Instruct |
Qwen2.5 | Qwen2.5-32B-Instruct |
Qwen2.5 | Qwen2.5-14B-Instruct |
Qwen2.5 | Qwen2.5-7B-Instruct |
Qwen2.5-VL | Qwen2.5-VL-72B-Instruct |
Qwen2.5-VL | Qwen2.5-VL-7B-Instruct |
Las opciones de método de entrenamiento disponibles dependen del modelo base seleccionado; después de elegir un modelo base, el campo de método de entrenamiento muestra automáticamente sus opciones y selecciona la primera de forma predeterminada. Esta versión admite la importación de modelos LoRA; no se pueden importar modelos ajustados con parámetros completos.
La fuente de importación es "Importar desde OSS", seleccionada por defecto; no se admite la importación desde otros canales.
Después de una importación exitosa, el modelo entra en el estado Creado y se puede implementar desde la lista My Models. Los modelos importados desde OSS no admiten entrenamiento incremental; para iterar, vuelva a entrenar e importe nuevamente. Después de la importación, el registro del modelo se almacena utilizando el espacio de almacenamiento gratuito proporcionado por Model Studio.
Autorizar OSS antes de la primera importación
Antes de importar un modelo desde OSS por primera vez, debe completar la autorización del rol vinculado al servicio de OSS y añadir una etiqueta de acceso al bucket de destino. La autorización se realiza con un solo clic desde la página de importación. Una vez autorizado, el sistema crea automáticamente el rol vinculado al servicio AliyunServiceRoleForSFMDataHubOSSImport (nombre de servicio datahub.sfm.aliyuncs.com, política de permisos AliyunServiceRolePolicyForSFMDataHubOSSImport), lo cual suele surtir efecto en segundos. Para obtener detalles sobre el rol vinculado al servicio, consulte Rol vinculado al servicio de OSS. Para conocer los conceptos y diferencias entre la cuenta de Alibaba Cloud y los usuarios RAM, consulte Cuenta de Alibaba Cloud y usuarios RAM.
En la página Import Model, después de seleccionar "Import from OSS" en Origen de importación, si no ha autorizado, el área del campo OSS muestra "You have not authorized OSS" con un enlace "Go to authorize", y el botón Aceptar está deshabilitado hasta que se complete la autorización. La ruta de autorización difiere para cuentas de Alibaba Cloud y usuarios RAM; elija según el tipo de cuenta.
Uso de una cuenta de Alibaba Cloud
- En la página Import Model, después de seleccionar "Import from OSS" en Fuente de importación, la página muestra "You have not authorized OSS". Haga clic en "Go to authorize" en el lado derecho del aviso.
- En el cuadro de diálogo que aparece, haga clic en "Authorize Now". El sistema crea automáticamente el rol vinculado al servicio AliyunServiceRoleForSFMDataHubOSSImport, que suele tener efecto en segundos; puede haber un ligero retraso durante las horas pico.
- Añada una etiqueta al bucket de OSS de destino: vaya a la Lista de buckets en la consola de OSS, busque el bucket de destino, pase el cursor sobre el icono de la columna de etiquetas y haga clic en "Ir a editar" y luego en "Crear etiqueta", añada el nombre de etiqueta
bailian-datahub-accessy el valor de etiquetaread, y guarde los cambios. - Regrese a la página Import Model, vuelva a seleccionar el bucket objetivo e intente importar nuevamente. Model Studio no admite el acceso a archivos en el directorio raíz del bucket; debe seleccionar un subdirectorio existente en el bucket o crear uno nuevo.
Uso de un usuario RAM
-
En la página Import Model, después de seleccionar "Import from OSS" en Fuente de importación, la página muestra "You have not authorized OSS". Haga clic en "Go to authorize".
-
En el cuadro de diálogo que aparece, haga clic en "Autorizar ahora". La interfaz muestra "Error de autorización: el usuario actual no tiene permiso para crear un rol vinculado al servicio". El cuadro de diálogo muestra Nombre del servicio como
datahub.sfm.aliyuncs.com, el nombre del rol vinculado al servicio comoAliyunServiceRoleForSFMDataHubOSSImport, y el permiso de usuario requerido comoram:CreateServiceLinkedRole. La cuenta de Alibaba Cloud debe otorgar primero al usuario RAM permiso para crear un rol vinculado al servicio, luego el usuario RAM completa la autorización. -
La cuenta de Alibaba Cloud otorga al usuario RAM permiso para crear un rol vinculado al servicio:
- La cuenta de Alibaba Cloud inicia sesión en la consola RAM. En el panel de navegación izquierdo, elija "Permission Management" y luego "Policies", y haga clic en "Create Policy".
- Seleccione "Script Editor", ingrese el siguiente contenido en los campos Effect, Action, Resource y Condition, luego haga clic en "OK":
{
"Action": [
"ram:CreateServiceLinkedRole"
],
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "datahub.sfm.aliyuncs.com"
}
}
}
- Introduzca un nombre de política (ejemplo: Rol vinculado al servicio) y haga clic en "OK".
- En el panel de navegación izquierdo, elija "Identity Management" y luego "Users". Busque el usuario RAM objetivo y haga clic en Add Permissions en la columna Acciones.
- Seleccione la política personalizada que acaba de crear y haga clic en "Confirm New Authorization". El usuario RAM ahora tiene permiso para crear un rol vinculado al servicio.
- Regrese a la página Import Model y haga clic en "Go to authorize". En el cuadro de diálogo que aparece, haga clic en "Authorize Now". El sistema crea automáticamente el rol vinculado al servicio, generalmente en cuestión de segundos.
- Agregue la etiqueta
bailian-datahub-access=readal bucket de OSS objetivo (igual que el paso 3 para la cuenta de Alibaba Cloud), luego regrese a la página Import Model y vuelva a seleccionar el bucket objetivo. Model Studio no admite el acceso a archivos en el directorio raíz del bucket.
Después de la autorización, debe añadir una etiqueta al bucket de OSS de destino: nombre de etiqueta bailian-datahub-access, valor de etiqueta read. Esta etiqueta marca los buckets accesibles por Model Studio; los buckets sin esta etiqueta no son seleccionables en la lista desplegable. Debe añadir la etiqueta en la consola de OSS y luego volver a seleccionar.
Las clases de almacenamiento de buckets de OSS no admiten Archive, Cold Archive ni Deep Cold Archive; para el cifrado del lado del servidor, se admite OSS totalmente gestionado, mientras que otros métodos de cifrado del lado del servidor, como las claves gestionadas por KMS (SSE-KMS), no son compatibles. Se admiten buckets privados. Model Studio no admite el acceso a archivos en el directorio raíz del bucket; debe seleccionar un subdirectorio existente en el bucket o crear uno nuevo.
Actualización desde el método de autorización heredado
Si utilizó anteriormente el método de autorización heredado, la página de importación muestra un aviso debajo del campo Bucket: "Recomendamos cambiar al nuevo método de autorización de bucket para mejorar la seguridad" con un enlace "Cambiar ahora". Haga clic en él para abrir un cuadro de diálogo de confirmación; confirme para actualizar al método de autorización de rol vinculado al servicio. La actualización no afecta a los datos existentes.
Producto OSS no activado
Si la cuenta de Alibaba Cloud no ha activado Object Storage Service OSS, la página de importación muestra "You have not activated OSS" con un enlace para comprar. La cuenta de Alibaba Cloud debe activar OSS en la consola de OSS, luego regresar a la página de importación para autorizar nuevamente.
Preparar archivos de modelo LoRA
Antes de importar, coloque los archivos del modelo LoRA en un subdirectorio de un bucket de OSS (no se admite el directorio raíz del bucket) de acuerdo con los requisitos a continuación, y supere la validación automática del sistema antes de enviar. Los archivos del modelo deben colocarse directamente bajo el subdirectorio seleccionado; el sistema los detecta automáticamente.
ImportantEsta versión admite la importación de modelos LoRA; no se admiten modelos ajustados con parámetros completos.
Archivos requeridos y estructura de directorios
El subdirectorio debe contener los siguientes archivos: adapter_model.safetensors (los pesos del adaptador LoRA en formato SafeTensors), adapter_config.json (el archivo de configuración que contiene parámetros como rank y alpha), y config.json (la configuración del modelo base). Después de seleccionar un directorio, el sistema valida automáticamente el formato y la integridad de estos archivos.
Restricciones de parámetros de entrenamiento
-
Valores de rango: El rango debe ser uno de 8, 16, 32 o 64, y todas las capas LoRA del mismo modelo deben usar el mismo valor de rango; de lo contrario, el modelo no se puede importar.
-
El vocabulario no debe modificarse: Los modelos que agregaron nuevos tokens o modificaron el vocabulario original durante el entrenamiento no se pueden importar; el vocabulario debe coincidir exactamente con el del modelo base.
-
La plantilla de chat no debe modificarse: No se pueden importar modelos que hayan modificado chat_template durante el entrenamiento; chat_template debe coincidir con la configuración predeterminada del modelo base. chat_template se encuentra en el campo
chat_templatede config.json o tokenizer_config.json.
-
Los modelos de visión-lenguaje deben congelar VIT: Los modelos de visión-lenguaje deben congelar la parte Vision Transformer. Si el adaptador LoRA contiene parámetros de peso relacionados con la visión (es decir, VIT no está congelado), el modelo no se puede importar.
Puede ejecutar el siguiente script antes de la importación para verificar si adapter_model.safetensors contiene claves de parámetros que comienzan con visual, para determinar si VIT está congelado.
from safetensors import safe_open
import argparse
def print_safetensor_structure(file_path):
print(f"Loading safetensor file: {file_path}")
print("="*80)
with safe_open(file_path, framework="pt") as f:
keys = f.keys()
print(f"Found {len(keys)} tensors in the file:\n")
for key in sorted(keys):
tensor = f.get_tensor(key)
shape = tuple(tensor.shape)
dtype = str(tensor.dtype)
device = tensor.device if hasattr(tensor, 'device') else 'cpu'
lora_tag = " [LoRA]" if "lora_A" in key or "lora_B" in key else ""
print(f"[{dtype:>14}] {shape} | {key} {lora_tag}")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Print structure of a .safetensors LoRA adapter.")
parser.add_argument("filepath", type=str, help="Path to the .safetensors file")
args = parser.parse_args()
print_safetensor_structure(args.filepath)
Método: Si la salida del script contiene claves de parámetros que comienzan con visual (por ejemplo, visual.encoder.layer.0...), la parte VIT no está congelada y el modelo no se puede importar; si solo están presentes claves de parámetros relacionadas con LoRA como lora_A y lora_B, VIT está congelado y el modelo se puede importar normalmente.
Validación automática previa al envío
Después de seleccionar un directorio de modelo en la página Import Model, el sistema llama automáticamente a la API de validación de archivos para verificar el formato y la integridad de los archivos del modelo en el directorio. Si la validación falla, aparece un aviso rojo debajo del campo de directorio y bloquea el envío; corrija los archivos según el aviso antes de enviar. Una causa común de fallo es la falta de archivos requeridos, correspondiente al código de error AvailableModelFileNotFound.
Importar un modelo LoRA
Después de completar la autorización de OSS y preparar los archivos del modelo, vaya a la página My Models en la consola de Model Studio y haga clic en el botón "Importar modelo" en la esquina superior derecha para abrir la página de creación, y luego complete la importación de la siguiente manera.
- En la página My Models, haga clic en el botón "Import Model" en la esquina superior derecha para abrir la página de creación de importación de modelos.
- Complete la información del modelo según la tabla a continuación. El modelo base debe coincidir con la base utilizada para el entrenamiento LoRA, el bucket debe tener la etiqueta
bailian-datahub-access=read, y después de seleccionar el directorio del modelo, el sistema valida automáticamente los archivos. - Después de verificar la información, haga clic en OK para enviar. El sistema valida automáticamente el formato y la integridad del archivo, y comienza la importación una vez que pasa la validación; para cancelar, haga clic en Cancel para regresar a la página de lista. Después de la importación, vea el estado en Gestionar modelos importados.
Los campos del formulario de importación de modelos son los siguientes:
Campo | Descripción | Restricción |
|---|---|---|
Model name | Introduzca un nombre para mostrar del modelo. | Obligatorio, hasta 50 caracteres |
Base model | Seleccione el modelo base utilizado para el entrenamiento LoRA; debe coincidir con la base de entrenamiento. | Obligatorio, selección en lista desplegable |
Training method | Las opciones dependen del modelo base seleccionado; después de seleccionar un modelo base, las opciones se muestran automáticamente con la primera seleccionada por defecto. | Obligatorio, selección en lista desplegable |
Import source | Es "Importar desde OSS"; no hay otras opciones. | Solo lectura, seleccionado por defecto |
Bucket | Seleccione el bucket de OSS que almacena los archivos del modelo; solo se enumeran los buckets con la etiqueta bailian-datahub-access=read. | Obligatorio, selección en lista desplegable |
Model directory | Explore y seleccione el subdirectorio que contiene el punto de control del modelo en el bucket elegido; el directorio raíz del bucket no es seleccionable. | Obligatorio, selección en árbol |
Model encryption | Model Studio habilita automáticamente el cifrado del lado del servidor de OSS (SSE-OSS) para los archivos de modelo exportados, utilizando claves totalmente gestionadas de OSS con AES256 como algoritmo de cifrado. | Solo lectura, aplicado por Model Studio |
Si no ha completado la autorización de OSS, el botón Aceptar está deshabilitado; complete Autorizar OSS antes de la primera importación antes de enviar. Después de una importación exitosa, el modelo está listo para su implementación; para operaciones de implementación, consulte Implementación y O&M.
Los estados de los modelos importados incluyen Creando (importando), Creado (listo para implementar), Error de creación (error en la importación) y Caducado (archivos fuente modificados).
Gestionar modelos importados
Después de enviar la importación, regresa a la página de lista My Models, donde puede ver y gestionar todos los modelos importados. La lista muestra el nombre del modelo, ID del modelo (con un botón de copiar), modelo base, origen, métodos de implementación admitidos, estado, hora de creación y una columna de acciones. La esquina superior derecha proporciona la entrada Importar modelo y un botón de actualización.
Estados y transiciones
Los estados del modelo incluyen Creando, Creado, Error de creación y Caducado. Creando significa que la importación está en curso; Creado significa que la importación se ha completado y el modelo está listo para su implementación; Error de creación significa que la importación no tuvo éxito; Caducado significa que los archivos del modelo de origen en OSS cambiaron después de que el modelo se creara correctamente. La lista se actualiza automáticamente en segundo plano cada 3 segundos para los modelos en estado Creando; este es un comportamiento normal, no una excepción de la API.
Junto al estado Error de creación hay un enlace "Details"; pase el cursor sobre él para ver el código de error de fallo (como AvailableModelFileNotFound) y la ruta oss://bucket/path correspondiente, para ayudar a localizar el archivo fallido.
Para el estado Caducado, pase el cursor para ver una ventana emergente que muestra "The following files have detected updates" y la lista de nombres de archivos fuente modificados, indicándole que vuelva a importar.
Disponibilidad de la columna Acciones
- Implementar: Disponible solo en el estado Creado; al hacer clic se abre la página de creación de implementación. Para operaciones de implementación, consulte Implementación y O&M. En otros estados, o cuando no hay ningún método de implementación disponible, el botón está deshabilitado.
- Entrenamiento incremental: Los modelos importados desde OSS no admiten entrenamiento incremental; el botón está deshabilitado.
- Eliminar: Los modelos en estado Creando no se pueden eliminar; los modelos cuantizados deben eliminarse desde la página de compresión de modelos.
Después de hacer clic en Delete en la columna de acciones y confirmar, solo se elimina el registro del modelo del lado de Model Studio; los archivos fuente de OSS no se ven afectados. Para otros estados, la eliminación llama a la API de eliminación para limpiar el registro.
ImportantLa operación de eliminación es irreversible: solo elimina el registro del modelo del lado de Model Studio; debe volver a importarlo para restaurarlo. No elimina los archivos fuente en OSS.
El cuadro de búsqueda en la parte superior de la lista filtra modelos por nombre y permite borrar/restablecer. La columna de origen se representa según el origen de importación: las importaciones de OSS muestran oss://bucket/path, los trabajos de entrenamiento muestran el ID del trabajo de origen (o "Trabajo de entrenamiento eliminado" si se eliminó), y se etiquetan con etiquetas de parámetros completos, LoRA o cuantización. Para llamar a un modelo implementado mediante API, consulte Implementar modelos con la API.
Todas las operaciones se realizan por modelo individual; no se admite la eliminación por lotes ni la implementación por lotes.
FAQ
Esta sección resume los problemas comunes y los métodos de resolución durante el proceso de importación.
¿Qué debo hacer si la importación falla con AvailableModelFileNotFound?
Este error significa que la validación de archivos del directorio del modelo no se superó (un problema de formato o integridad) y no se puede resolver simplemente volviendo a subir los archivos. Verifique que el directorio seleccionado contenga adapter_model.safetensors, adapter_config.json y config.json válidos, confirme que se cumplen todas las restricciones de rank, vocabulario y chat_template, luego vuelva a seleccionar el directorio y envíe.
¿Por qué el estado del modelo muestra 'Caducado'?
Caducado significa que, después de que el modelo se creó correctamente, los archivos fuente del modelo en OSS cambiaron; este es un comportamiento de detección normal, no un fallo. Pase el cursor sobre el estado Caducado para ver la lista de nombres de archivos modificados. Debe volver a importar el modelo para restaurarlo a un estado utilizable.
¿Qué debo hacer si encuentro el error '10041495'?
Esto suele ocurrir porque la cuenta de Alibaba Cloud no ha activado Object Storage Service OSS. La cuenta de Alibaba Cloud debe ir a la consola de OSS y activar OSS según las instrucciones, luego regresar a la página Import Model de Model Studio e intentar autorizar nuevamente.
¿Qué debo hacer si falla la autorización de OSS para un usuario RAM?
La autorización del usuario RAM falla porque el usuario RAM carece del permiso para crear un rol vinculado al servicio; esto no es un fallo true. La cuenta de Alibaba Cloud debe crear primero una política de permisos personalizada en la consola RAM (acción ram:CreateServiceLinkedRole, para el servicio datahub.sfm.aliyuncs.com) y otorgarla al usuario RAM, luego el usuario RAM hace clic en autorizar nuevamente. Para obtener detalles sobre el rol vinculado al servicio de OSS, consulte Rol vinculado al servicio de OSS.
¿Qué debo hacer si el bucket de destino no es seleccionable en la lista desplegable de buckets?
Este es un requisito de autorización, no un fallo. Bajo el nuevo método de autorización, los buckets sin la etiqueta bailian-datahub-access=read no son seleccionables en la lista desplegable. Vaya a la consola de OSS y agregue esta etiqueta al bucket objetivo, luego regrese a la página de importación y vuelva a seleccionar.
¿Es un fallo que la lista Mis modelos se actualice automáticamente cada pocos segundos?
No. Cuando la lista detecta modelos en estado Creando, se actualiza silenciosamente cada 3 segundos para obtener el estado más reciente, y se detiene automáticamente cuando no hay modelos en estado Creando. Este es un comportamiento normal.
¿Por qué el modelo importado produce resultados de inferencia diferentes en comparación con vLLM o SGLang locales?
Para la alineación de parámetros de inferencia, consulte la Guía de implementación de API.
¿La eliminación de un modelo importado afecta a los archivos de origen en OSS?
No. La eliminación solo quita el registro del modelo del lado de Model Studio; debe volver a importarlo para restaurarlo. Los archivos fuente de OSS le pertenecen; Model Studio solo los lee a través de la etiqueta bailian-datahub-access=read, y eliminar el modelo no modifica ningún archivo en OSS.