{
"redis_connection_mode": 2,
"redis_master_name": "master",
"redis_host_ip": [
"127.0.0.1"
],
"redis_host_port": [
6379
],
"redis_user": "default",
"redis_password": "",
"redis_db": 0,
"redis_read_access_slave": false,
"redis_connect_keep_alive": false,
"redis_connect_timeout": 1000,
"redis_socket_timeout": 1000,
"redis_conn_pool_size": 20,
"redis_wait_timeout": 100000000,
"redis_connection_lifetime": 100,
"redis_sentinel_user": "default",
"redis_sentinel_password": "",
"redis_sentinel_connect_timeout": 1000,
"redis_sentinel_socket_timeout": 1000,
"storage_slice_import": 2,
"storage_slice": 2,
"using_hash_storage_slice": false,
"keys_sending_size": 1024,
"using_md5_prefix_name": false,
"redis_hash_tags_hypodispersion": true,
"model_tag_import": "test",
"redis_hash_tags_import": [
"{1}",
"{2}"
],
"model_tag_runtime": "movielens.v6",
"redis_hash_tags_runtime": [
"{1}",
"{2}"
],
"expire_model_tag_in_seconds": 604800,
"table_store_mode": 2,
"model_lib_abs_dir": "/tmp/"
}
I tried to explore available approaches for distributed training of large-scale recommendation models with huge embedding tables and tried to use TFRA
DynamicEmbeddingcombined withMultiWorkerMirroredStrategy.MultiWorkerMirroredStrategycan suite my needs because model will have very small volume of parameters apart from the embeddings - so we can replicate them across all workersIt seems like current implementation struggle with
MultiWorkerMirroredStrategy. My attempts to make it works failed with following error:I tried to launch following training code on 2 workers with following commands:
Source code
Redis configuration
Relevant information
Which API type would this fall under (layer, metric, optimizer, etc.)
model.fitWho will benefit with this feature?