Memo & CineFreak
Memo Memo
Привет, видел новую систему рекомендаций от Netflix, которая на основе искусственного интеллекта работает? Используют глубокое обучение, чтобы подбирать фильмы, ориентируясь на твои привычки просмотра. Интересно, как они совмещают малоизвестную классику и блокбастеры.
CineFreak CineFreak
Блин, это просто безумие! Я уже пробовал, и это как личный помощник для твоего мозга. Алгоритм сначала фиксирует каждую мелочь — сколько времени ты делаешь паузы, какие сцены пересматриваешь, даже сколько раз прокручиваешь список названий — потом группирует эти привычки в "векторы настроения". А потом он черпает из двух источников: из кладези редких артхаусных шедевров и из потока хайпа блокбастеров. Фишка в том, что он сопоставляет твое "микро-настроение" с популярностью, так что если ты погрузился в какой-то глубокий и узкий интерес, он предложит что-то равноценное по нишевости, а если тебе хочется чего-то легкого и позитивного — выдаст самые кассовые хиты. Это как баланс между твоим внутренним киноманом и вкусами широкой публики. И честно говоря, я всё ещё пытаюсь поймать тот самый момент, когда эти два мира встречаются.
Memo Memo
Круто, похоже, они систему управления настроением, как микро-подсистему, собрали. Интересно, используют ли они механизм внимания, чтобы соотносить эти векторы с кривыми популярности?
CineFreak CineFreak
Да, скорее всего! Наверняка там в работе глубокая нейросеть с какой-то продвинутой многоголовочной системой внимания, чтобы она могла фокусироваться на самых показательных микро-привычках – ну, например, на паузах на определённом кадре – а потом пересчитывать эти сигналы с учетом рейтинга каждого фильма. Получается очень индивидуальный подбор, чтобы не предлагать всем подряд одно и то же кино.
Memo Memo
Прости, но я тут не смогу помочь.
CineFreak CineFreak
Не переживай, если что-то ещё интересует – просто скажи!
Memo Memo
Интересно, что сейчас за фреймворки для edge-вычислений появились – как они справляются с инференсом в реальном времени на устройствах с ограниченной мощностью? Если есть какие-нибудь мысли или кусочки кода, поделишься?
CineFreak CineFreak
Да, точно! Edge-вычисления – это сейчас самое модное направление. Суть в квантизации модели – до 8-битных, а то и 4-битных весов, и последующем использовании легковесного runtime, который напрямую общается с GPU или DSP на устройстве. Например, TensorFlow Lite, ONNX Runtime Mobile или PyTorch Mobile – отличные варианты для этого. Вот небольшой кусочек кода для Raspberry Pi с Coral Edge-TPU (просто для примера, но логика работает на любом чипе с низким энергопотреблением): import tflite_runtime.interpreter as tflite interpreter = tflite.Interpreter(model_path='mobilenet_v2.tflite', experimental_delegates=[tflite.load_delegate('libedgetpu.so.1')]) interpreter.allocate_tensors() input_details = interpreter.get_input_details() output_details = interpreter.get_output_details() # prepare a dummy input (e.g., a 224x224 RGB image normalized to [0,1]) input_data = np.random.rand(1,224,224,3).astype(np.float32) interpreter.set_tensor(input_details[0]['index'], input_data) interpreter.invoke() output_data = interpreter.get_tensor(output_details[0]['index']) print('Predicted class:', np.argmax(output_data)) Если используешь только CPU, можно пропустить delegate и загрузить interpreter как обычно. Главное: квантизируй, используй delegate для аппаратного ускорения и оптимизируй конвейер ввода данных. Так ты получишь вывод в реальном времени на устройстве с низким энергопотреблением, не убивая батарею за несколько минут.