El transpiler de Qiskit es el motor de compilación que transforma un circuito cuántico abstracto en uno que pueda ejecutarse físicamente en un procesador cuántico real. Un circuito abstracto puede usar cualquier puerta lógica: Hadamard, Toffoli, SWAP, rotaciones arbitrarias... pero los procesadores reales solo entienden un pequeño conjunto de puertas nativas. El transpiler se encarga... Seguir leyendo →
LoRA para adaptación eficiente
LoRA (Low-Rank Adaptation) es una técnica ideada en 2021 por un equipo de investigadores de Microsoft que reduce drásticamente el número de parámetros entrenables en modelos de lenguaje de gran tamaño. En el ajuste fino tradicional, el modelo ajusta una matriz de pesos para obtener la matriz adaptada. LoRA congela el modelo base y calcula... Seguir leyendo →
Recursos (memoria) para LLMs en producción
Debido al auge que han tenido los LLMs (grandes modelos de lenguaje), que consumen grandes recursos (procesador, memoria, almacenamiento) durante su entrenamiento, es también importante estimar el consumo de recursos cuando desplegamos esos modelos en producción. De hecho, la escalada de precios actual de la memoria RAM, HBM (Memoria de Alto Ancho de Banda) y... Seguir leyendo →
Curso IA y deep learning con PyTorch
Hemos creado una serie de tutoriales para introducir uno de los frameworks de inteligencia artificial y deep learning más avanzados, PyTorch, y sus principales módulos. A continuación se puede ver un listado con las partes del curso: Programación orientada a objetos en PyTorch. Tensores en PyTorch. Almacenamiento de tensores en PyTorch. Módulo de redes neuronales.... Seguir leyendo →
El nuevo entorno de desarrollo cuántico de Qiskit
Qiskit ha evolucionado y es uno de los entornos preferidos para diseñar y ejecutar programas en computadores cuánticos. La herramienta más conocida de este entorno es el entorno de desarrollo Qiskit SDK y el entorno para ejecutar trabajos en los QPUs (QPU, Quantum Processing Unit) de IBM, Qiskit Runtime. A estas se une la herramienta... Seguir leyendo →
Operaciones cuánticas y el amortiguamiento de fase (phase damping)
Los algoritmos que hemos estado viendo en computación cuántica se describían con transformaciones con un operador unitario, basado en la ecuación de Schrodinger, que preserva la norma y evoluciona estados puros en estados puros. Para sistemas abiertos e interacciones con el entorno, como la medida, es necesario contar con un formalismo adicional, como las operaciones... Seguir leyendo →
El formalismo del operador de densidad
En post pasados del curso hemos introducido el formalismo inicial de la computación cuántica en el que los estados son estados puros y se representan con vectores y sus transformaciones se representan con matrices unitarias. Sin embargo, en ocasiones podemos tener un estado que sea una distribución de probabilidades de estados puros (estado mixto) o... Seguir leyendo →
Regresión simbólica con GPlearn
La regresión simbólica es un modelo de machine learning que busca en el espacio de posibles expresiones matemáticas la expresión que mejor se ajusta a los datos. Al contrario que otras técnicas de regresión, como la regresión lineal, no se especifica una estructura previa del modelo a optimizar sino que va construyendo expresiones matemáticas aleatoriamente.... Seguir leyendo →
Introducción a Qiskit y el traslado de fase (kickback phase)
Introducción a Qiskit Es un marco de desarrollo de software (SDK) de IBM de código abierto para trabajar con computadoras cuánticas a nivel de circuitos, pulsos y algoritmos. Qiskit se compone de elementos que trabajan juntos para permitir la computación cuántica. Qiskit Terra proporciona herramientas para crear circuitos cuánticos en o cerca del nivel del código de... Seguir leyendo →
Almacenamiento de tensores en PyTorch
Como hemos visto, los tensores son un elemento básico en PyTorch. Son los elementos de diferente rango (escalares, vectores, matrics, etc.) que contienen la información en PyTorch y sobre los que actúan los modelos. Sin embargo, a pesar de su rango y dimensiones, los tensores se almacenan en memoria en un array unidimensional de elementos... Seguir leyendo →
